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

解题思路:

这道题跟remove duplicates from sorted Array类似,就是比较的时候往前看2个即可,然后逐步移位。

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        int len = nums.size();
        if(len<=2){
            return len;
        }
        int newLen = 2;
        for(int i = 2; i<len; i++){
            if(nums[i] != nums[newLen - 2]){
                nums[newLen] = nums[i];
                newLen++;
            }
        }
        return newLen;
    }
};


0 条评论

    发表评论

    电子邮件地址不会被公开。 必填项已用 * 标注