80. 删除排序数组中的重复项 II
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array-ii/
解法一:
用i划分合法区,即[0:i]
为合法区。用另一个指针n一次遍历,元素不超过两次这个条件可以通过与nums[i-2]
比较,若n大于nums[i-2]
号说明nums[i-2],nums[i-1]
之中最多重复两次(最少一次,因为是排序数组),可以将n号放到i位置
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
i = 0
for n in nums:
if i < 2 or n > nums[i-2]:
nums[i] = n
i += 1
return i
最后更新于