首页 > 其他分享 >80. Remove Duplicates from Sorted Array II

80. Remove Duplicates from Sorted Array II

时间:2023-03-07 13:05:39浏览次数:40  
标签:index return nums Duplicates Remove II ## int 数组

##题目
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 1, 1, 2, 2 and 3. It doesn’t matter what you leave beyond the new length.
##思路
本题计算数组个数,因为数组有序,且重复项不超过俩个,那么只要从数组index=2处将nums[index]与nums[index-2]比大小,大的就计数加一,否则不变
##代码

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

标签:index,return,nums,Duplicates,Remove,II,##,int,数组
From: https://blog.51cto.com/u_15996214/6105916

相关文章