给你一个 升序排列 的数组 nums ,请你删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。
时间: 2023-12-19 14:06:05 浏览: 161
leetcode答案-leetcode:LeetCode刷题记录
这道题可以使用双指针的方法进行解决。定义两个指针 $i$ 和 $j$,初始时 $i = 0$,$j = 1$。如果 $nums[i] = nums[j]$,说明 $nums[j]$ 重复出现,我们就令 $j$ 向后移动一位。直到 $nums[i] \neq nums[j]$,此时说明已经找到了一个新的不重复的元素,我们就令 $i$ 后移一位,并将 $nums[j]$ 的值赋值给 $nums[i]$。如此循环直到 $j$ 到达数组的末尾,最后返回 $i+1$ 即可。
以下是代码实现:
阅读全文