给你一个非严格递增排列的数组nums请你原地删除重复出现的元素使每个元素只出现一次返回删除后数组的新长度。元素的相对顺序应该保持一致。然后返回nums中唯一元素的个数。考虑nums的唯一元素的数量为k。去重后返回唯一元素的数量k。nums的前k个元素应包含排序后的唯一数字。下标k - 1之后的剩余元素可以忽略。题目要求原地删除重复元素所以不能直接使用del删除元素这样会导致顺序错乱也不是原地原地只能交换所以使用快慢指针。当遇到快慢指针值不相同时进行先1再交换如果相同值直接跳过。时间复杂度O(n)空间复杂度O(1)class Solution: def removeDuplicates(self, nums: List[int]) - int: if not nums: return 0 slow 0 for fast in range(1, len(nums)): if nums[slow] ! nums[fast]: slow 1 nums[slow] nums[fast] return slow 1