zoukankan      html  css  js  c++  java
  • LeetCode 80. 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 1, 1, 2, 2 and 3. It doesn't matter what you leave beyond the new length.

    水题,不要用vector.erase()方法, 直接删除操作vector内部会遍历后边元素, 所以时间花费较大, 用一个临时数组,保存一下就OK了

    class Solution {
    public:
        int removeDuplicates(vector<int>& nums) {
            vector<int> res;
            for(int i=0, s = 0; i<nums.size(); ++ i)
            {
                if(i == 0 || nums[i] != nums[i-1])
                    s = 0;
                else
                    s ++;
    
                if(s >= 2)
                    continue;
    
                res.push_back(nums[i]);
            }
            nums.clear();
            nums = res;
            return int(nums.size());
        }
    };
    
  • 相关阅读:
    第一篇博客
    margin 与 padding
    CSS伪类
    CSS定位
    利用css布局在图片插入文字
    CSS选择符
    CSS伪类
    CSS语法顺序
    CSS样式特点及优先级
    frame-框架
  • 原文地址:https://www.cnblogs.com/aiterator/p/6722134.html
Copyright © 2011-2022 走看看