题目:删除排序数组中的重复项
给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。
不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
|
遇到的问题:
|
我的代码:
|
题解思路:
模式识别:需要
保存可覆盖位置和观测位置,利用
双指针;快指针用来扫描,找到非重复元素;慢指针指向可覆盖的位置
数组长度为0
数组有重复元素
数组没有重复元素
时间复杂度:O(n),需要扫描输入数组 ,
其中
n
n
是数组的长度。快指针和慢指针最多各移动
n
n
次。
空间复杂度:O(1) ,
只需要使用常数的额外空间。
|
题解代码:
|
笔记:
|
leetcode 简单(一)删除排序数组中的重复项
最新推荐文章于 2022-04-22 11:53:44 发布
这篇博客讨论了如何在不使用额外数组空间的条件下,对已排序数组进行原地修改,删除重复元素。作者分享了自己的代码实现,虽然能够解决问题,但执行效率不够高效。题解中提出了使用双指针的优化方案,快指针扫描,慢指针用于更新无重复的元素,显著提高了执行速度。此外,博客还涵盖了不同测试用例的处理和算法的时间、空间复杂度分析。
摘要由CSDN通过智能技术生成