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是当前搜索的位置。

posted on 2019-12-10 16:35  Sempron2800+  阅读(176)  评论(0编辑  收藏  举报