1 class Solution: 2 def removeDuplicates(self, nums: List[int]) -> int: 3 n = len(nums) 4 if n < 3: 5 return n 6 count = 2 7 i,j = 2,2 8 while j < n: 9 cur = nums[j] 10 if cur == nums[i-1] and cur == nums[i-2]: 11 j += 1#跳过 12 else: 13 nums[i] = cur#插入 14 i += 1 15 j += 1 16 count += 1 17 return count
算法思想:双指针。
i记录应该插入的位置,j是当前搜索的位置。