码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode 26. Remove Duplicates from Sorted Array 、80. Remove Duplicates from Sorted Array II

时间:2019-04-18 14:58:31      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:www   duplicate   复杂   ted   tco   span   数字   生成   dup   

两个题类似,第一个题是不允许有重复的数字,第二个题是允许每个数字最多重复两个,两个题目都要求在原数组上进行操作,并返回生成数组的长度,即空间复杂度为O(1)。

两个题都是使用双指针,第一个指针指向生成新的数组的最后一个位置,第二个指针指向当前进行判断的位置。

唯一不同的是, 第二个题需要设置一个变量来控制重复的个数是否超过2

 

26. Remove Duplicates from Sorted Array

 

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        if(nums.empty())
            return 0;
        int pre = 0;
        int cur = 0;
        while(cur < nums.size()){
            if(nums[pre] == nums[cur])
                cur++;
            else
                nums[++pre] = nums[cur++];
        }
        return pre + 1;
    }
};

 

 

80. Remove Duplicates from Sorted Array II

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        if(nums.empty())
            return 0;
        int pre = 0;
        int cur = 1;
        int count = 1;
        while(cur < nums.size()){
            if(nums[pre] == nums[cur]){
                if(count == 0)
                    cur++;
                else{
                    nums[++pre] = nums[cur++];
                    count--;
                }            
            }
            else{
                nums[++pre] = nums[cur++];
                count = 1;
            }
        }
        return pre + 1;
    }
};

 

 

 

http://www.cnblogs.com/grandyang/p/4329295.html

 

leetcode 26. Remove Duplicates from Sorted Array 、80. Remove Duplicates from Sorted Array II

标签:www   duplicate   复杂   ted   tco   span   数字   生成   dup   

原文地址:https://www.cnblogs.com/ymjyqsx/p/10729373.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!