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

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

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

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

算法一:

ublic static int removeDuplicates(int[] nums) {int n = nums.length;if (n == 0) {return 0;}int fast = 1, slow = 1;int index = 0;while (fast < n) {if (nums[fast] != nums[fast - 1]) {nums[slow] = nums[fast];++slow;index=0;} else {index++;}if (index == 1) {nums[slow] = nums[fast];++slow;}++fast;}return slow;}

官方算法:

public int removeDuplicates(int[] nums) {int n = nums.length;if (n <= 2) {return n;}int slow = 2, fast = 2;while (fast < n) {if (nums[slow - 2] != nums[fast]) {nums[slow] = nums[fast];++slow;}++fast;}return slow;}

相关文章:

  • 【Vmwrae】快速安装windows虚拟机
  • 第1篇:BLE 是什么?与经典蓝牙有何区别?
  • NumPy数组属性
  • 商家平台AI智能搜索工程实践|RAG|向量检索增强
  • 理解世界如淦泽,穿透黑幕需老谋
  • 通信之光端机
  • 行李箱检测数据集VOC+YOLO格式2083张1类别
  • HDD可靠性与故障率的影响因素评估
  • 设计模式学习
  • 大模型面试题:大模型训练过程中如何估计显卡利用率?
  • 01Linux基础入门教程——从起源到核心概念
  • OD 算法题 B卷【删除字符串中出现次数最少的字符】
  • 《最短路(Floyd)》题集
  • 面壁智能推出 MiniCPM 4.0 端侧大模型,引领端侧智能新变革
  • 矢状位片不可用怎么办?前后位测量方法评估骨盆倾斜角!
  • SpringMVC简介
  • 【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)
  • AD学习(2)
  • Cinnamon修改面板小工具图标
  • 【整数逐位除法求余补〇完整版】2022-4-11
  • 制作网站哪家专业/抖音关键词排名查询
  • 网站新媒体建设方案/搜资源的搜索引擎
  • 什么网站做hevc/获客引流100种方法
  • 上海设计网站建设/seo外链
  • 软件技术开发合同/网站怎么做优化排名
  • 外包网站开发多少钱/国内最开放的浏览器