美文网首页LintCode解题思路
OJ lintcode 删除排序数组中的重复数字

OJ lintcode 删除排序数组中的重复数字

作者: DayDayUpppppp | 来源:发表于2017-02-21 14:39 被阅读3次

给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。
不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。
您在真实的面试中是否遇到过这个题?
Yes
样例
给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。

class Solution {
public:
    /**
     * @param A: a list of integers
     * @return : return an integer
     */
    int removeDuplicates(vector<int> &nums) {
        // write your code here
        if(nums.size()==0){
            return 0;
        }

        int k=0;
        int len=nums.size();
        for(int i=1;i<len;i++){
            if(nums[k]!=nums[i]){
                k++;
                nums[k]=nums[i];
            }
        }

        nums.resize(k+1);

        return k+1;
    }
};

相关文章

网友评论

    本文标题:OJ lintcode 删除排序数组中的重复数字

    本文链接:https://www.haomeiwen.com/subject/qukuwttx.html