当前位置: 首页 > news >正文

数组——双指针:80.删除有序数组中的重复项 II

题目链接

80.删除有序数组中的重复项 II

题目重构

允许每个元素最多出现两次,原地删除多余的重复元素,并返回去重后的数组长度。

思路

我们用双指针的方法。因为题目允许每个元素出现两次,所以数组前两个元素我们不需要进行多余的判定。长度 ≤2 的数组,无论如何都不会有超过2次的重复,我们直接返回数组长度。

我们的快慢指针可以直接从2开始。快指针遍历数组所有元素,慢指针指向我们可以安全写入的位置。fast元素要与slow - 2元素比较是否不相等,如果相等的话说明slow - 2slow - 1,以及当前的fast元素都相等(slow是待插入位置,判定时指向的是未知元素),违背了每个元素最多两个的设定,不相等就说明最多两个,可以将fast元素放进slow位置,同时更新slow指针。

代码

int n = nums.size();
if (n <= 2) {return n;
}
int fast = 2, slow = 2;
while (fast < n) {if (nums[slow - 2] != nums[fast]) {nums[slow] = nums[fast];slow++;}fast++;
}
return slow;
http://www.dtcms.com/a/450686.html

相关文章:

  • 网站开发在线学习百度高级搜索页面的网址
  • 什么网站做3d模型能赚钱golang做网站
  • 推广运营公司网站wordpress 模板添加
  • C48-数组指针与二维数组的配合应用
  • 成都专业的网站建设制作公司哪家好欧亚专线到国内多久
  • 西安长安区建设局网站阿里云服务器官方网站
  • 响应式网站建设有哪些好处四川住房和城乡建设网站
  • BBRv1 拥塞控制算法原理
  • 网站运行速度优化西安到北京火车票多少钱
  • 青岛市建设厅网站修复WordPress图片上传错误
  • BLDCPMSM电机控制器硬件设计工程(五)控制器电流采集方案
  • 周口市做网站微商城网站建设咨询
  • 中国建设银行网站签名通下载安装wordpress关闭feed
  • 上海市官方网站广园路建设公司网站
  • 外贸企业网站策划有什么网站是python做的
  • 佳木斯城乡建设局官方网站家装博览会2023
  • dedecms做视频网站房产网站建设整体架构
  • 代申请可信网站成都网站建设有名的公司
  • 网站开发快递文件58同城本地网页版
  • 城市分类信息网站建设网站开发与数据库
  • 企业网站建设一般要素马关县网站建设
  • 怎么做淘宝客网站备案网络软件公司
  • 商城版网站建设海外网站加速器免费
  • 公司网站制作公司排名专门做创意桌椅的网站
  • Transformer 模型简介
  • 自己做的网站能赚钱吗杭州百度百家号seo优化排名
  • 手机网站建设的规划做seo必须有自己网站吗
  • GitHub 热榜项目 - 日榜(2025-10-06)
  • 购物网站建设市场wordpress app插件下载
  • 招聘网站哪个好用茶叶网站策划书