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

[Java][Leetcode middle] 80. 删除有序数组中的重复项 II

删除重复元素,最多只保留两个

1. 计数法

  • 第一个元素直接加入
  • 当与前一个元素相同时,计数器+1,不同时计数器恢复1;
    只有计数器小于2时,记录元素;
public int removeDuplicates2(int[] nums) {int cnt = 1;int dup = 1;for(int i = 1; i < nums.length; i++) {if(nums[i] == nums[i-1]) {dup++;}else{dup = 1;}if(dup <=2){nums[cnt++] = nums[i];}}return cnt;}

2. 快慢指针法

/*** 双指针法*/
public int removeDuplicates3(int[] nums) {int cnt = 2;  // first two ele must in the arrayfor(int i = 2; i < nums.length; i++) {if(nums[i] != nums[cnt-2]) {nums[cnt++] = nums[i];}}return cnt;
}
http://www.xdnf.cn/news/385399.html

相关文章:

  • 【MySQL】页结构详解:页的大小、分类、头尾信息、数据行、查询、记录及数据页的完整结构
  • MySQL InnoDB 表空间详解
  • numpy模块综合使用
  • 罗技无线鼠标的配对方法
  • 什么是具身智能
  • 关于物联网的基础知识(二)——物联网体系结构分层
  • 在python中,为什么要引入事件循环这个概念?
  • 图形化编程革命:iVX携手AI 原生开发范式
  • 电池单元和电极性能
  • AI大模型学习十八、利用Dify+deepseekR1 +本地部署Stable Diffusion搭建 AI 图片生成应用
  • [Java实战]Spring Boot 定时任务(十五)
  • 理解页内碎片与页外碎片:分页存储管理的关键问题
  • 《智能网联汽车 自动驾驶系统通用技术要求》 GB/T 44721-2024——解读
  • 【MySQL】行结构详解:InnoDb支持格式、如何存储、头信息区域、Null列表、变长字段以及与其他格式的对比
  • pandas读取pymysql和解析excel的一系列问题(版本不匹配)
  • C++23 views::repeat (P2474R2) 深入解析
  • LeetCode 215题解 | 数组中的第K个最大元素
  • oracle 会话管理
  • Java常用类-比较器
  • 卫宁健康WiNGPT3.0与WiNEX Copilot 2.2:医疗AI创新的双轮驱动分析
  • KaiwuDB 2.0:为 AIoT 而生,融合时序、关系与 AI 的未来数据库
  • 四、Hive DDL表定义、数据类型、SerDe 与分隔符核心
  • Linux电源管理(9)_wakelocks
  • 百度AI战略解析:文心一言与自动驾驶的双轮驱动
  • 前端npm包发布流程:从准备到上线的完整指南
  • 大模型都有哪些超参数
  • AUTOSAR图解==>AUTOSAR_TR_AIDesignPatternsCatalogue
  • 深入理解设计模式之原型模式(Prototype Pattern)
  • 深入解析PyTorch中MultiheadAttention的隐藏参数add_bias_kv与add_zero_attn
  • 人工智能100问☞第20问:神经网络的基本原理是什么?