首页 > 代码库 > 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].

class Solution {
public:
    int removeDuplicates(int A[], int n) 
    {
        if(n<=2return n;
        
        int index=0;
        int index2=0;
        while(index2<n)
        {
            A[index++]=A[index2++];
            if(index2<n && A[index2]==A[index-1])
                A[index++]=A[index2++];
            while(index2<n && A[index2]==A[index-1])
                index2++;
        }
        return index;
    }
};