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 {
/**
* @param A: a array of integers
* @return : return an integer
*/
public int removeDuplicates(int[] nums) {
// write your code here
if (nums==null)
return -1;
if(nums.length<=2)return nums.length;
int newIndex=1;
for (int i=2;i<nums.length ;i++ ) {
if (nums[i]!=nums[newIndex]||nums[i]!=nums[newIndex-1]) {
newIndex++;
nums[newIndex]=nums[i];
}
}
return newIndex+1;
}
}