zoukankan      html  css  js  c++  java
  • [LeetCode] #26 Remove Duplicates from Sorted Array

    Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.

    Do not allocate extra space for another array, you must do this in place with constant memory.

    For example,
    Given input array nums = [1,1,2],

    Your function should return length = 2, with the first two elements of nums being 1 and 2 respectively. It doesn't matter what you leave beyond the new length.

    将第i的不重复的元素复制到nums[i],然后移除后续元素。时间:32ms

    代码如下:

    class Solution {
    public:
        int removeDuplicates(vector<int>& nums) {
            if (nums.empty())
                return 0;
            int count = 1;
            for (size_t i = 1; i < nums.size(); ++i){
                if (nums[i - 1] != nums[i]){
                    nums[count] = nums[i];
                    count++;
                }
            }
            if (count != nums.size())
                nums.erase(nums.begin() + count);
            return count;
        }
    };
    “If you give someone a program, you will frustrate them for a day; if you teach them how to program, you will frustrate them for a lifetime.”
  • 相关阅读:
    [大山中学模拟赛] 2016.9.17
    [DP优化方法之斜率DP]
    Gengxin讲STL系列——String
    小班讲课之动态规划基础背包问题
    ubuntu安装体验
    小班出题之字符串基础检测
    G
    B
    小项目--反eclass
    树--天平问题
  • 原文地址:https://www.cnblogs.com/Scorpio989/p/4550561.html
Copyright © 2011-2022 走看看