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

[leetcode]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].


基本思路:

与Remove Duplicates from Sorted Array方法类似。 可以参看《Remove Duplicates from Sorted Array》。


代码:

int removeDuplicates(int A[], int n) { //C++
        if(n <=2)
            return n;
        int newp = 1, times = 0;
        for(int i = 1; i < n; i++)
        {
            if(A[i] == A[i-1])
            {
                if(times == 0)
                {
                    A[newp] = A[i];
                    newp++;
                    times++;
                }
            }
            else 
            {
                times = 0;
                A[newp] = A[i];
                newp++;
            }
        }
        return newp;
    }


[leetcode]Remove Duplicates from Sorted Array II