leetcode ——从排序数组中删除重复项 II
从排序数组中删除重复项 II
题目
数组中的元素最多允许重复两次
思路
采用 count 计数,如果 count >2 跳过;否者存储元素
代码
public class Solution {
public int removeDuplicates_2(int[] nums) {
if (nums.length == 0)
return 0;
int idx =0;
int count =0;
for (int i=0;i<nums.length;i++){
if (i>0 && nums[i] == nums[i-1]){
count++;
if (count>2){/**说明重复数超过2个*/
continue;//继续执行for循环,避免使用break
}
}
else {/**如果出现不同,将 count 赋值为1*/
count=1;
}/** idx 为去重之后的数组索引*/
nums[idx] = nums[i];
idx++;
}
return idx;
}
}