此题与
Remove Duplicates from Sorted Array I 相比, 不同点在于允许重复元素最多出现两次,则可以比较第一个数与第三个数是否相同,
过程中需要注意替换的元素
代码
class Solution {
public:
int removeDuplicates(int A[], int n) {
if(n==0||n==1)
return n;
int cnt = 1;
int temp = A[1];
for(int i = 2; i < n; ++i)
{
if(A[i]!=A[i-2])
{
A[cnt++] = temp;
temp = A[i];
}
}
A[cnt++] = temp;
return cnt;
}
};