news 2026/4/24 5:51:28

算法训练营第十一天| 删除有序数组中的重复项 II

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
算法训练营第十一天| 删除有序数组中的重复项 II

题目链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-array-ii/
视频链接:https://www.bilibili.com/video/BV18G5UzzE8c/

初次解题与思考

延续昨天的双指针思路,但需要增加一个计数器来记录当前元素出现的次数。当遇到重复元素时,判断已出现的次数是否小于2,决定是否保留。

实践代码如下:

学习心得:

1、这道题是昨天的延伸,核心思路还是双指针。昨天是比较 nums[fast] 和 nums[slow-1],这道题是比较 nums[fast] 和 nums[slow-2]。掌握了模板后,改一个数字就能适应不同的“最多重复次数”要求。
2、如果题目改成“每个元素最多出现 k 次”,那比较对象就是 nums[slow-k]。这个规律很重要,能举一反三。
3、带计数变量的解法虽然代码长一点,但逻辑更直观:遇到重复就 count++,不重复就重置 count。两种解法都值得掌握。
4、前几个元素的处理方式很关键:昨天前 1 个元素保留,这道题前 2 个元素保留。所以慢指针初始值就是“需要保留的元素个数”。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 5:43:45

Voxtral-4B-TTS-2603高清音频展示:FLAC无损格式下人声频谱细节还原效果

Voxtral-4B-TTS-2603高清音频展示:FLAC无损格式下人声频谱细节还原效果 1. 专业级语音合成的突破 Voxtral-4B-TTS-2603是Mistral最新发布的开源语音合成模型,专为追求专业级音频质量的生产场景设计。这款模型最令人惊艳的特点在于它能够生成接近真人录…

作者头像 李华
网站建设 2026/4/24 5:40:27

荣耀手机内行只推这4款,性价比拉满

解除安全模式 2026年二季度,国内智能手机市场竞争激烈,荣耀凭借全价位段布局稳居市场前五。当前荣耀产品线覆盖多个系列,机型数量超20款,但消费者常面临配置过剩或价格虚高的选购难题。结合国家数码产品15%补贴政策&am…

作者头像 李华
网站建设 2026/4/24 5:39:39

3分钟彻底重置JetBrains IDE试用期:告别30天限制的终极方案

3分钟彻底重置JetBrains IDE试用期:告别30天限制的终极方案 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 你是否也曾为JetBrains IDE试用期到期而烦恼?每次30天倒计时结束,那…

作者头像 李华
网站建设 2026/4/24 5:34:36

Vue3项目实战:用Vite+Element Plus+Pinia快速搭建一个后台管理系统骨架

Vue3全栈实战:基于ViteElement PlusPinia构建企业级后台管理系统 在当今快节奏的前端开发领域,能够快速搭建一个可扩展、易维护的后台管理系统框架是每个开发者的必备技能。本文将带你从零开始,通过Vite构建工具、Vue3组合式API、TypeScript类…

作者头像 李华
网站建设 2026/4/24 5:30:20

Vue3实战:巧用mousedown、mouseup与contextmenu构建交互式组件

1. 从需求出发:为什么需要组合鼠标事件? 最近在做一个后台管理系统时,遇到一个很有意思的需求:用户希望能够通过拖拽来调整卡片大小,同时还要支持右键菜单快速操作。这让我开始思考如何优雅地组合mousedown、mouseup和…

作者头像 李华