小黑代码
class Solution:def removeDuplicates(self, nums: List[int]) -> int:pre_ = 10001t = 1n = len(nums)for i in range(n):if nums[i] == pre_:t += 1if t > 2:nums[i] = 10001else:pre_ = nums[i]t = 1for i in range(n):if nums[i]==10001:t = i+1flag = Falsewhile t < n:if nums[t] != 10001:nums[t], nums[i] = nums[i], nums[t]flag = Truebreakt += 1if not flag:return i

双指针法
class Solution:def removeDuplicates(self, nums: List[int]) -> int:n = len(nums)if n <= 2:return nhead = 2tail = 2while tail < n:if nums[tail] != nums[head-2]:nums[head] = nums[tail]head += 1tail += 1return head

状态逐渐明朗,继续调整心态!
