26,80 题是删除 有序数组 中的 重复项
对于此类问题,我们应该进行如下考虑:
- 由于是保留 k 个相同数字,对于前 k 个数字,我们可以直接保留。
- 对于后面的任意数字,能够保留的前提是:与当前写入的位置前面的第 k 个元素进行比较,不相同则保留
26. 删除有序数组中的重复项
class Solution:def removeDuplicates(self, nums: List[int]) -> int:i=0for num in nums:if i<1 or nums[i-1]!=num:nums[i]=numi+=1return i
80. 删除有序数组中的重复项 II
class Solution:def removeDuplicates(self, nums: List[int]) -> int:i=0for num in nums:if i<2 or nums[i-2]!=num:nums[i]=numi+=1return i
27 题是删除 无序数组 中的 指定元素
27. 移除元素
class Solution:def removeElement(self, nums: List[int], val: int) -> int:i=0for num in nums:if num!=val:nums[i]=numi+=1return i