——Remove Duplicates from Sorted Array

26、Remove Duplicates from Sorted Array

刪除排序數組中的重複數字

給定一個排序數組,在原數組中刪除重複出現的數字,使得每個元素只出現一次,並且返回新的數組的長度。

不要使用額外的數組空間,必須在原地沒有額外空間的條件下完成。

樣例

給出數組A =[1,1,2],你的函數應該返回長度2,此時A=[1,2]

分析:

因爲是排序數組,所以我們只需要判斷每一個元素是否大於他的前一個元素,就能知道他是否重複,然後將每一個不重複在數組前重新填充即可。

代碼:

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        if(nums.size()<2)return nums.size();
        int count=1;
        for(int i=1;i<nums.size();i++)
            if(nums[i]>nums[i-1])//判斷是否重複
                nums[count++]=nums[i];//在數組前重新填充
        return count;
    }
};


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章