首页 > 代码库 > Remove Duplicates from Sorted Array II

Remove Duplicates from Sorted Array II

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) {
        int result=A.length;
        int i,j;
        for(i=2,j=2;i<A.length;i++)
        {
            if((A[i]==A[j-1])&&(A[i]==A[j-2]))
            {
                result--;
            }
            else
            {
                A[j]=A[i];
                j++;
            }
        }
        return result;
    }
}


Remove Duplicates from Sorted Array II