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]
.
public class Solution {
public int removeDuplicates(int[] A) {
if(A.length<3)
return A.length;
int i=0;
for(int j=2; j<A.length; j++){
if(A[i] != A[j])
{
A[i+2]=A[j];
i++;
}
}
return i+2;
}
}