// 记下重复的第二次
class Solution {
public int removeDuplicates(int[] nums) {
int n = nums.length;
if (n == 0) return 0;
int count = 0;
boolean flag = false;
int pre = nums[0];
count++;
for (int i = 1; i < n; i ++){
if (nums[i] == pre){
if (flag == false){
flag = true;
nums[count++] = nums[i];
}
}else {
nums[count++] = nums[i];
pre = nums[i];
flag = false;
}
}
return count;
}
}

本文介绍了一种去除数组中重复元素的算法实现,通过一次遍历数组并使用布尔标志来控制重复元素的保留次数,确保每个元素最多只出现两次。此算法适用于需要对有序数组进行重复元素过滤的场景。
408

被折叠的 条评论
为什么被折叠?



