一 题目:
二 思路:
比对法,每次找到一个和咱们要设置位置不一样的值
- 记录当前正在设置值(需要被比较的值)的位置,只要后面的元素和他一样那就跳过
- 直到找到下一个和它不一样的数字放在下一个位置,然后继续比对
三:代码:
class Solution {
public int removeDuplicates(int[] nums) {
int len = nums.length;
if (len <=1){
return len;
}
//输入: nums = [0,0,1,1,1,2,2,3,3,4]
//输出:5, nums = [0,1,2,3,4]
int currSet=0;
for (int i = 1; i < nums.length; i++) {
if (nums[i]!=nums[currSet]){
currSet++;
nums[currSet]=nums[i];
}
}
return currSet+1;
}
}
网友评论