問題描述:
給定一個(gè)排序數(shù)組,你需要在原地刪除重復(fù)出現(xiàn)的元素,使得每個(gè)元素只出現(xiàn)一次,返回移除后數(shù)組的新長度。
不要使用額外的數(shù)組空間,你必須在原地修改輸入數(shù)組并在使用O(1)額外空間的條件下完成。
示例
示例1:
給定數(shù)組nums=[1,1,2],
函數(shù)應(yīng)該返回新的長度2,并且原數(shù)組nums的前兩個(gè)元素被修改為1,2。
你不需要考慮數(shù)組中超出新長度后面的元素。
示例2:
給定nums=[0,0,1,1,1,2,2,3,3,4],
函數(shù)應(yīng)該返回新的長度5,并且原數(shù)組nums的前五個(gè)元素被修改為0,1,2,3,4。
你不需要考慮數(shù)組中超出新長度后面的元素。
解題思路:
遍歷列表,如果與當(dāng)前元素與下一個(gè)相同則刪除掉此元素
代碼:
classSolution(object):
defremoveDuplicates(self,nums):
"""
:typenums:List[int]
:rtype:int
"""
i=0
while(i
ifi+2<=len(nums):
#第i+1+1個(gè)元素不為空
ifnums[i]==nums[i+1]:
nums.remove(nums[i])
i-=1
else:
returnlen(nums)
i+=1
以上內(nèi)容為大家介紹了使用Python刪除排序數(shù)組中的重復(fù)項(xiàng),希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.2667701.com/