1. 程式人生 > >Leetcode 80 刪除排序陣列中的重複項 II Python

Leetcode 80 刪除排序陣列中的重複項 II Python

class Solution:
    def removeDuplicates(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        rm=0
        dup=0
        L = len(nums)
        lo = 0
        hi = L - 1
        while lo < hi:
            if nums[lo] == nums[lo+1]:
                dup += 1
                if dup >= 2:
                    rm += 1
            else:
                if dup >= 2:
                    i = lo - dup + 1
                    j = lo
                    nums[lo - dup + 1:] = nums[j:]
                    hi -= dup - 1
                    lo -= dup - 1
                dup = 0
            lo += 1
        return L - rm