<span style="font-size:18px;">class Solution {
public:
int removeDuplicates(int A[], int n) {
if(n <= 2) return n;
int index = 2;
for(int i = 2; i < n; i++) {
if(A[i] != A[index-2]) {
A[index++] = A[i];
}
}
return index;
}
};</span>
思想:
重复的元素允许出现两次,因为原数组已排序,所以若A[index-2] == A[index],则说明这是该元素第三次出现,跳过。
本文介绍了一种在排序数组中去除重复元素的算法实现,允许每个元素最多出现两次。通过遍历数组并检查当前元素是否与其前两个元素相同来决定是否保留该元素。
317

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



