面试150 删除有序数组中的重复项 Ⅱ
思路
还是快慢指针法,因为元素不能出现超过两次,所以我们slow,fast都设为2,遍历fast以后的元素,与nums[slow-2]比较,如果不相同,说明没有超过2次,nums[fast]的值赋给nums[slow],slow指针前移
class Solution:def removeDuplicates(self, nums: List[int]) -> int:n=len(nums)if n<=2:return nslow=2for fast in range(2,n):if nums[slow-2]!=nums[fast]:#如果相等,说说明该元素出现超过2次,跳过nums[slow]=nums[fast]slow+=1return slow