Remove Duplicates from Sorted Array II

题目大意;

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 being 1122 and 3. It doesn't matter what you leave beyond the new length.

解答:

就是将超过2个重复的数据只保留两个。


别人的代码,很棒,O(n)


int removeDuplicates(vector<int>& nums) {
    int i = 0;
    for (int n : nums)
        if (i < 2 || n > nums[i-2])
            nums[i++] = n;
    return i;
}


你可能感兴趣的:(LeetCode,array,point,Two)