Follow up for "Remove Duplicates":
What if duplicates are allowed at most twice?
For example,
Given sorted array A = [1,1,1,2,2,3],
Your function should return length = 5, and A is now
[1,1,2,2,3].
与Remove Duplicates from Sorted Array方法类似。 可以参看《Remove Duplicates from Sorted Array》。
int removeDuplicates(int A[], int n) { //C++
if(n <=2)
return n;
int newp = 1, times = 0;
for(int i = 1; i < n; i++)
{
if(A[i] == A[i-1])
{
if(times == 0)
{
A[newp] = A[i];
newp++;
times++;
}
}
else
{
times = 0;
A[newp] = A[i];
newp++;
}
}
return newp;
}[leetcode]Remove Duplicates from Sorted Array II
原文地址:http://blog.csdn.net/chenlei0630/article/details/41288927