【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].

分析:加一个标记位用来记录某一个数字已经出现了多少次了。

class Solution {
public:
    int removeDuplicates(int A[], int n) {
        if(n <= 2)
            return n;
            
        int index = 2;
        for(int i = 2; i < n; i++)
        {
            if(A[index - 2] != A[i])
                A[index++] = A[i];
        }
        
        return index;
    }
};


你可能感兴趣的:(【Leetcode】Remove Duplicates from Sorted Array II)