力扣删除排序数组中的重复项
给你一个有序数组 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”真好用啊
力扣删除排序数组中的重复项相关推荐
- 力扣删除排序数组中的重复项 II
给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的 ...
- 力扣——删除有序数组中的重复项
删除有序数组中的重复项 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 ...
- ios 数组中的字典排序_题解 | 26.删除排序数组中的重复项
假设我们有一个传感器,会不停地向 HQ 传输已经归类好数据,数据的格式全部是数字(种类编号),且已经按照从小到大的顺序排列,大概是 [1,1,4,5,7,9] 这样的,但是我们的需求在于,希望知道有多 ...
- LeetCode 79单词搜索80删除排序数组中的重复项Ⅱ81.搜索旋转排序数组Ⅱ
新人公众号(求支持):bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打 ...
- Leecode刷题【1数组专题4】80. 删除排序数组中的重复项II (以及通用解法)
Leecode刷题 [1数组专题4]80. 删除排序数组中的重复项II (以及通用解法) 题目: 思路 双指针法: (错误代码) 正解: 通用解法: 题目: 给你一个有序数组 nums ,请你 原地 ...
- 【每日一算法】删除排序数组中的重复项
微信改版,加星标不迷路! 每日一算法-删除排序数组中的重复项 作者:阿广 阅读目录 ? 题目 ? 解析 ? 完整代码 1 题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次 ...
- LeetCode题组:第26题-删除排序数组中的重复项
1.题目:删除排序数组中的重复项 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度.(注意这里提到了排序数组,也就是说数组是有序的.如果无序,我们又 ...
- LeetCode 25K 个一组翻转链表26删除排序数组中的重复项
如果问题或者其他方法还请分享,如加入打卡微信搜索bigsai回复进群一起打卡. K个一组翻转链表 题目要求 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. k 是一个正整数,它的值小 ...
- leetcode初级算法1.删除排序数组中的重复项
leecode初级算法1.删除排序数组中的重复项 仅为个人刷题记录,不提供解题思路 题解与收获 class Solution {public int removeDuplicates(int[] nu ...
最新文章
- java代码解锁华为_如何编写可怕的Java代码?
- CG-CTF-Web-单身一百年
- 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](2)
- 春节特惠活动┃给孩子讲100个科学道理,不如带他做这些趣味实验!
- 解决sqlalchemy连接mysql报错ModuleNotFoundError: No module named ‘pymysql‘
- android layout wrap_content,android-如果高度为WRAP_CONTENT,则不显示VideoVi...
- fedora下java环境配置
- Ad-Hoc(点对点)模式
- 服务器防止ce修改器,原神CE修改器防封版
- vue模板解析——源码演示
- 一篇文章教会你使用html+css3制作炫酷效果
- [game]《泰坦陨落2》
- Tourists【广义圆方树+树链剖分+方点的特别优化】
- Unity开发VR项目(四)—— 创建VR场景
- 数据管理平台DMP细致研究——BlueKai
- 中国人误传千年的七句话
- 老马闲评数字化(4)做数字化会不会被供应商拿捏住
- 用CMD命令查看局域网电脑IP地址,电脑名称及MAC地址
- Android Studio 往虚拟机添加音乐
- 大陆证券(期货)交易所手续费计算方式详解
热门文章
- r语言dataellipse_r – 在ggplot2中微调stat_ellipse()
- 谈一谈我对前端的学习路线及方法的一些心得
- 粉丝提问:有没有人会做彩虹表
- linux 查看系统组账号密码是什么,Linux 用户与组管理详解(system-config-users 命令行)...
- 纯CSS3文字Loading动画特效
- iframe关于滚动条的去除和保留
- 解决微信小程序的wx-charts插件tab切换时的显示会出现位置移动问题-tab切换时,图表显示错乱-实现滑动tab
- HTML邮件制作规范
- 前端面试题(附上自己的回答)
- yum 和 rpm安装mysql彻底删除