leetcode第26题删除有序数组中的重复项

给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。

不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。

  1. 首先对特殊情况进行处理,即当输入数组为空时,不必做任何操作。


    特殊处理
  2. 定义两个下标,一个下标用来遍历数组,也称为快下标;一个下标定义下一个不同元素的位置,称为慢下标。初始时,两个下标都为0。


    快慢下标方法
  3. 循环遍历数组,并比较当前数组值与慢下标所指数据是否相等。如果相等,则继续遍历数组。如果不相等,则赋值给慢下标后一个位置,然后递增慢下标。


    循环的处理
  4. 循环结束后,慢下标即指向不重复数组最后一个元素。返回慢下标加1,即为不重复数组大小。


    完整算法
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容