1. 程式人生 > >leetcode remove-duplicates-from-sorted-array

leetcode remove-duplicates-from-sorted-array

題目

題意:去掉重複的元素,並返回新的長度。

解題思路:題目要求不能申請新的陣列空間,而是在原來的陣列中修改。也就是說我們需要覆蓋重複的元素。修改之後會有多於的部分在陣列末尾,可以使用容器中的erase()方法去除。

核心程式碼附上:

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        int count=0;
        int n=nums.size();
        for(int i=1;i<n;i++)
        {
            if(nums[i]==nums[i-1])
            {
                count++;
            }
            else
            {
                nums[i-count]=nums[i];
            }
        }
        nums.erase(nums.begin()+n-count,nums.end());
        return n-count;
    }
};