题目:删除排序数组中的重复项
给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。
不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
|
遇到的问题:
|
我的代码:
|
题解思路:
模式识别:需要
保存可覆盖位置和观测位置,利用
双指针;快指针用来扫描,找到非重复元素;慢指针指向可覆盖的位置
数组长度为0
数组有重复元素
数组没有重复元素
时间复杂度:O(n),需要扫描输入数组 ,
其中
n
n
是数组的长度。快指针和慢指针最多各移动
n
n
次。
空间复杂度:O(1) ,
只需要使用常数的额外空间。
|
题解代码:
|
笔记:
|