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

算法打卡第11天 删除有序数组中的重复项

一、今日任务

第11天 删除有序数组中的重复项 II
今日任务:80. 删除有序数组中的重复项 II 巩固滑动窗口算法,提交第二周学习小结
题意:
给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。

不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
题目链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-array-ii/
视频链接:https://www.bilibili.com/video/BV18G5UzzE8c/

二、初次解题与思考

昨天刚做了“26.删除有序数组中的重复项”(每个元素只保留一次),今天这道题是它的进阶版:每个元素最多保留两次。

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

三、代码实现与注意点

注意点

  1. 边界条件:数组长度 ≤ 2 时,无需处理

  2. slow初始值:从2开始,因为前两个元素无论是什么都可以保留

  3. 比较索引slow-2而不是slow-1,这是保证最多保留两个的关键

  4. 通用扩展:如果题目改成最多保留k个,只需将2改成kslow-2改成slow-k

复杂度

  • 时间复杂度:O(n),一次遍历

  • 空间复杂度:O(1),只使用了常数个变量

  • 四、操作

  • 五、今日收获

    • 昨天:比较fastslow-1

    • 今天:比较fastslow-2

    • 这种细微调整体现了算法的可扩展性

    • 不需要额外的计数器变量

    • 利用数组有序和已处理区域的性质,直接通过索引比较

    • 代码简洁但逻辑深刻

    • 培养举一反三的能力

    • 已处理区域的前k个元素就是“标准答案”的前k个

    • 重复元素必然连续出现

    • 理解了“最多保留k个”的通用模板

http://www.jsqmd.com/news/693870/

相关文章:

  • 如何实现AI助手与浏览器的无缝协作:Playwright MCP扩展终极指南
  • Bilibili评论数据采集实战:5步掌握B站视频评论自动化爬取方案
  • 别再让手机烫手了!实测对比:Skype、微信、FaceTime谁才是长时间煲电话粥的王者?
  • 终极指南:在Windows电脑上直接运行安卓APK的完整解决方案
  • 为什么92%的AI工程师在CUDA 13上性能反降?——深度拆解3张关键架构设计图与2个致命配置陷阱
  • 保姆级教程:用GATK4从鸡的fastq数据到vcf文件,手把手搞定全流程(附避坑指南)
  • WinSpy++:Windows窗口逆向分析与调试的专业利器
  • 【C++高吞吐MCP网关实战军规】:20年架构师亲授零拷贝、无锁队列与内存池三级优化秘技
  • MCP协议解析器CPU占用率居高不下?用AST+编译期正则(constexpr regex)重构后L1d缓存命中率提升至99.2%
  • 单细胞数据分析的5个实用技巧:如何用SCP从入门到精通
  • 浏览器端3D模型可视化革命性解决方案:跨格式兼容与高效工作流实践
  • DS4Windows终极指南:解锁PlayStation手柄在Windows平台的完整潜力
  • 网络安全基础——数据库MySQL3
  • 电池充放电管理芯片IP5306
  • 数据管道构建抽取转换与加载
  • VSCode多智能体调试效率提升300%?揭秘微软内部未公开的multi-root workspace+Task Runner联调方案
  • 2026年移民公司排名及服务能力深度解析 - 品牌排行榜
  • 哔哩下载姬DownKyi:如何高效管理你的B站视频收藏库
  • BERT模型实战指南:从原理到部署优化
  • 怎样高效完成Windows系统激活:实用工具完整指南
  • 发电机组出租厂家推荐与行业趋势调研——2026年甘肃省电力租赁服务深度解析 - 深度智识库
  • C++26反射元编程性能调优:为什么你的`reflexpr(T).members()`让编译时间暴涨3.8×?3步精准定位+2行修复代码
  • 上海乐时宜实业:长宁工字钢批发厂家推荐 - LYL仔仔
  • 别只盯着find_shape_model!Halcon模板匹配的“下半场”:刚体变换与轮廓对齐实战详解
  • 保姆级教程:在Ubuntu18.04上为速腾16线雷达配置Fast-LIO2建图(含IMU标定与避坑)
  • 零基础能学自然拼读吗?线上直播、录播、AI 课、线下班哪种更好、怎么选?2026年实测对比不踩坑 - 资讯焦点
  • Happy Island Designer:开源岛屿设计工具,让创意轻松落地
  • Python实战:用NetworkX可视化TSP问题,手把手教你实现最邻近与插入算法
  • 2026年3月做得好的汽车改装店铺推荐,隔音降噪,营造安静驾乘环境 - 品牌推荐师
  • ESXi 环境 NFSv3 与 NFSv4.1 哪个更稳?深度对比 + 选型指南 + 运维全教程