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

LeetCode Hot100刷题日志D1

1.两数之和

给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。


先是看了灵神的思路,用到了相向双指针的夹逼思想。整体思路是左右指针分别指向数组首尾,向中间夹逼。和大了右指针左移,和小了左指针右移。但是此算法仅适用于已经有序的数组。提交题解的时候未发现题目已经有所改变,已经变为无序,于是第一次提交失败。

后面看题解发现有哈希的做法,看了一遍原理后,想留着后面系统学习哈希算法时再使用,于是将目标转为暴力破解。暴力破解用的是双循环,时间复杂度为O(n*n)。

15.三数之和

给你一个整数数组nums,判断是否存在三元组[nums[i], nums[j], nums[k]]满足i != ji != kj != k,同时还满足nums[i] + nums[j] + nums[k] == 0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。

先是顺着前面“两数之和”相向双指针的夹逼思想,这道题的整体思路是外层套一个 for 循环来固定第一个数,然后在剩下的区间里用左右指针去寻找和为 0 的另外两个数。在写的时候架上了剪枝优化(后面的数加起来都大于 0 就直接 break,加上最大的数还小于 0 就直接 continue)。
但是漏掉了一个最致命的前提:双指针能正确移动依赖于数组是有序的,原题给的数组是无序的,导致第一版代码逻辑直接崩溃。加上nums.sort()排序后再次提交,发现输出结果里包含了大量重复的三元组。
排查后发现,自己在寻找完一个正确组合后,去重逻辑错用了if语句。if只能跳过两个挨着的重复数字,遇到连续多个重复数字(比如连续三个 1)就失效了。于是立刻把if改成了while循环。
换成while提交后,发现IndexError数组越界报错。最后发现,在内部while跳过重复项时,忘了加上j < k的安全边界保护,导致左指针一路狂奔不仅越过了右指针,还冲出了数组外。改正后AC。

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

相关文章:

  • 企业级XSS纵深防御:从编码规范到运行时监控的架构实践
  • 从零到一:AMEsim 2019.2与Matlab 2019联合仿真环境搭建全攻略
  • Agent大模型学习指南:小白程序员必备,高薪就业必备收藏!
  • 应用级虚拟定位终极指南:FakeLocation完整使用教程
  • Carla进阶实践:解锁Town06/07地图与静态传感器部署
  • 阴阳师自动化脚本终极指南:3步快速上手解放双手
  • MSPM0 SPI事件与中断机制解析:CPU_INT与DMA_TRIG实战配置
  • 从零到一:基于RT-Thread Studio与STM32CubeMX的F103ZE标准版工程实战指南
  • Quill 富文本 insertEmbed 实战:自定义 video 标签属性与上传集成方案
  • CasaOS 家庭服务器部署指南:从零搭建个人云与 Docker 应用管理
  • 大型企业网络安全·信息安全·数据安全全攻略:从认知觉醒到内生安全体系落地,一文读懂安全实践精髓(PPT)
  • 从微分方程到复数域:1/jωC容抗公式的物理与数学之旅
  • 华为OD机试2025C卷-字母组合[100分](Java_Python3_C++_C语言_JsNode_Go)实现100%通过率
  • UE4半透明材质实战:从折射率到光照模式的全流程调优指南
  • B站会员购抢票工具biliTickerBuy:技术实现与自动化解决方案深度解析
  • 2026腾讯会议多端接入音视频稳定操作指南
  • 2026免费图片去水印软件在线网站手机APP,图片去水印工具推荐实用收藏教程
  • 【ECharts进阶】巧用tooltip.formatter回调函数,动态渲染API返回的完整数据对象
  • HC-SR501人体红外传感器实战:从模块特性到多平台嵌入式驱动解析
  • 【O3模型深度解密】:20年架构师亲授工业级大模型推理优化的5大核心瓶颈与破局方案
  • GPT-5功能全图谱(含未公开API参数与Token效率实测数据):从零构建兼容GPT-5的生产级Agent工作流
  • VisionTransformer(二)—— 从Word Embedding到Patch Embedding:跨模态的向量化统一
  • OpenAI重磅发布GPT-5.6三款新模型,性能飙升还暗藏玄机?
  • AI产品经理:兼具业务落地、产品设计、技术理解的复合能力,成为未来高薪热门岗位!
  • 排污口水质在线监测解决方案
  • O3模型性能跃迁指南(实测提升42.6%吞吐量的3层缓存协同策略)
  • 【OpenCV 实战指南】04. 告别色彩错乱:matplotlib 中 OpenCV 图像的正确显示姿势(plt.imshow)
  • 百考通AI保逻辑保质量降低重复率
  • 天通+5G+自组网:AiBrainBOX、AiBrain Mesh构建陆海空无人化跨域协同体系,在DDIL环境泛在信息网络基础设施
  • 三分钟掌握Python自动化AutoCAD:从机械绘图到智能设计的跨越