LeetCode 26. Remove Duplicates from Sorted Array——python(easy)

題目來源:

題目分析:

 本題是給定一個排好序的數組,去掉重複的數,返回新數組的長度,不能申請額外的空間,超過新數組長度是什麼數都無所謂。需要注意的是,雖然返回的是數組的長度,但是數組也需要被重新修改成不含重複的數字。實現的思想是定義i,j兩個下標,一個用來指示新數組,一個用來遍歷原數組,兩兩進行比較。這裏需要注意的是將i.j的初始值都設定爲1,這是爲了兩兩比較的時候i-1不超過下標的界限。由於返回的是數組的長度,所以j也可以從1開始計數。

實現代碼:

class Solution:
    def removeDuplicates(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        i=1 #用來遍歷整個列表
        j=1 #用來記錄不同元素的個數
        n=len(nums)
        if (len(nums)==0):
            return 0
        else:
            while(i<n):
                if(nums[i]==nums[i-1]):
                    i+=1
                else:
                    nums[j]=nums[i]
                    j+=1
                    i+=1
            return j



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