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