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

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

我没注意到“有序”这一条件,这一写法也适用于无序的(最后的倔强)
思路:fast用于寻找不重复的元素,slow存储已经筛选过的元素。将每个元素与已经重排的元素比较,如果没有,就添加进去;如果有,就跳过。不是和nums后面的比较,这点我第一次就搞反了

class Solution {public int removeDuplicates(int[] nums) {int slow = 0;for(int fast = 1;fast<nums.length;fast++){//从第二个元素向前比较,所以fast取1不取0for(int j = 0;j<slow+1;j++){//遍历已经重排的部分,也就是nums[]前面的部分if(nums[fast]==nums[j]){break;//出现重复说明前面部分已经有这个元素了}if(j==slow){//遍历结束判断,说明前面部分没有这个元素nums[++slow] = nums[fast];//把这个元素加进去}}}return (slow+1);//slow是最大下标,不是元素个数}
}

双指针“slow”“fast”真好用啊

力扣删除排序数组中的重复项相关推荐

  1. 力扣删除排序数组中的重复项 II

    给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的 ...

  2. 力扣——删除有序数组中的重复项

    删除有序数组中的重复项 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 ...

  3. ios 数组中的字典排序_题解 | 26.删除排序数组中的重复项

    假设我们有一个传感器,会不停地向 HQ 传输已经归类好数据,数据的格式全部是数字(种类编号),且已经按照从小到大的顺序排列,大概是 [1,1,4,5,7,9] 这样的,但是我们的需求在于,希望知道有多 ...

  4. LeetCode 79单词搜索80删除排序数组中的重复项Ⅱ81.搜索旋转排序数组Ⅱ

    新人公众号(求支持):bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打 ...

  5. Leecode刷题【1数组专题4】80. 删除排序数组中的重复项II (以及通用解法)

    Leecode刷题 [1数组专题4]80. 删除排序数组中的重复项II (以及通用解法) 题目: 思路 双指针法: (错误代码) 正解: 通用解法: 题目: 给你一个有序数组 nums ,请你 原地 ...

  6. 【每日一算法】删除排序数组中的重复项

    微信改版,加星标不迷路! 每日一算法-删除排序数组中的重复项 作者:阿广 阅读目录 ? 题目 ? 解析 ? 完整代码 1 题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次 ...

  7. LeetCode题组:第26题-删除排序数组中的重复项

    1.题目:删除排序数组中的重复项 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度.(注意这里提到了排序数组,也就是说数组是有序的.如果无序,我们又 ...

  8. LeetCode 25K 个一组翻转链表26删除排序数组中的重复项

    如果问题或者其他方法还请分享,如加入打卡微信搜索bigsai回复进群一起打卡. K个一组翻转链表 题目要求 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. k 是一个正整数,它的值小 ...

  9. leetcode初级算法1.删除排序数组中的重复项

    leecode初级算法1.删除排序数组中的重复项 仅为个人刷题记录,不提供解题思路 题解与收获 class Solution {public int removeDuplicates(int[] nu ...

最新文章

  1. java代码解锁华为_如何编写可怕的Java代码?
  2. CG-CTF-Web-单身一百年
  3. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](2)
  4. 春节特惠活动┃给孩子讲100个科学道理,不如带他做这些趣味实验!
  5. 解决sqlalchemy连接mysql报错ModuleNotFoundError: No module named ‘pymysql‘
  6. android layout wrap_content,android-如果高度为WRAP_CONTENT,则不显示VideoVi...
  7. fedora下java环境配置
  8. Ad-Hoc(点对点)模式
  9. 服务器防止ce修改器,原神CE修改器防封版
  10. vue模板解析——源码演示
  11. 一篇文章教会你使用html+css3制作炫酷效果
  12. [game]《泰坦陨落2》
  13. Tourists【广义圆方树+树链剖分+方点的特别优化】
  14. Unity开发VR项目(四)—— 创建VR场景
  15. 数据管理平台DMP细致研究——BlueKai
  16. 中国人误传千年的七句话
  17. 老马闲评数字化(4)做数字化会不会被供应商拿捏住
  18. 用CMD命令查看局域网电脑IP地址,电脑名称及MAC地址
  19. Android Studio 往虚拟机添加音乐
  20. 大陆证券(期货)交易所手续费计算方式详解

热门文章

  1. r语言dataellipse_r – 在ggplot2中微调stat_ellipse()
  2. 谈一谈我对前端的学习路线及方法的一些心得
  3. 粉丝提问:有没有人会做彩虹表
  4. linux 查看系统组账号密码是什么,Linux 用户与组管理详解(system-config-users 命令行)...
  5. 纯CSS3文字Loading动画特效
  6. iframe关于滚动条的去除和保留
  7. 解决微信小程序的wx-charts插件tab切换时的显示会出现位置移动问题-tab切换时,图表显示错乱-实现滑动tab
  8. HTML邮件制作规范
  9. 前端面试题(附上自己的回答)
  10. yum 和 rpm安装mysql彻底删除