比较简单。
线性扫描,用一个变量记录相同元素个数即可。
class Solution {
public:
int removeDuplicates(int A[], int n) {
if(n<3)
return n;
int count = 1;
int start = 1, idx = 0;
while(start<n){
if(A[start]!=A[idx]){
count = 1;
A[++idx] = A[start];
}
else{
if(count==1){
++count;
A[++idx] = A[start];
}
}
++start;
}
return idx+1;
}
};