Leetcode 26. Remove Duplicates from Sorted Array

Question

Solution

首先需要注意,给定的是排序之后的list。如果cur_name 与num不相同,则不发生变化,指针向后移动。如果cur_name 与num相同,直接跳过判断,但是当下一次不相同的时候,会将这个num复制到list的idx的位置。从而将list中的所有不同元素都集中到list的前面部分。

1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
count = 0
idx = -1
cur_num = None
for num in nums:
if cur_num != num:
cur_num = num
idx += 1
nums[idx] = num
count += 1
nums = nums[0:count]
return len(nums)