类型:数组
-
- 删除有序数组中的重复项 💚
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/
❓ 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。
💡 快慢指针遍历交换
有点像快排里面的双指针 partition。
class Solution: def removeDuplicates(self, nums: List[int]) -> int: if not nums: return 0 n = len(nums) fast = slow = 1 while fast < n: if nums[fast] != nums[fast - 1]: nums[slow] = nums[fast] slow += 1 fast += 1 return slow时间复杂度:O(n),空间复杂度:O(1)