Follow up for "Remove Duplicates":What if duplicates are allowed at most twice?
For example,Given sorted array nums =[1,1,1,2,2,3],
Your function should return length =5, with the first five elements of nums being1,1,2,2 and 3. It doesn't matter what you leave beyond the new length.
public class Solution {
public int removeDuplicates(int[] nums) {
int n = nums.length;
int count = 0;
if(n<=2)
return n;
int j = 1;
for(int i =2;i<n;i++) //此处i始终大于j
{
if(!(nums[i] == nums[j]&&nums[i] == nums[j-1])) // 非 存在三个数相等
nums[++j] = nums[i];
}
return j+1;
}
}