【题目描述】
给定一个排序数组,在原数组中“删除”重复出现的数字,使得每个元素只出现一次,并且返回“新”数组的长度。
不要使用额外的数组空间,必须在不使用额外空间的条件下原地完成。
【题目样例】
样例 1:
输入: []
输出: 0
样例 2:
输入: [1,1,2]
输出: 2
解释: 数字只出现一次的数组为: [1,2]
【评测与题解】
→戳这里在线评测及查看题解
/**
* 本参考程序来自九章算法,由 @九章算法 提供。版权所有,转发请注明出处。
* - 九章算法致力于帮助更多中国人找到好的工作,教师团队均来自硅谷和国内的一线大公司在职工程师。
* - 现有的面试培训课程包括:九章算法班,系统设计班,算法强化班,Java入门与基础算法班,Android 项目实战班,
* - Big Data 项目实战班,算法面试高频题班, 动态规划专题班
* - 更多详情请见官方网站:http://www.jiuzhang.com/?source=code
*/
public class Solution {
public int removeDuplicates(int[] A) {
if (A == null || A.length == 0) {
return 0;
}
int size = 0;
for (int i = 0; i < A.length; i++) {
if (A[i] != A[size]) {
A[++size] = A[i];
}
}
return size + 1;
}
}
网友评论