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

【LeetCode】第1题 两数之和

欢迎来到李耶的频道【LeetCode面试题】。


两数之和

题目

给定一个整数数组nums和一个目标值target,找出数组中和为目标值的两个数,返回它们的下标。

输入:nums = [2, 7, 11, 15], target = 9 输出:[0, 1]

解法一:对象缓存

思路:遍历数组,用对象存已经看过的数。每到一个新数,算一下target - 当前数是否在对象里,在就说明配对成功,直接返回两个下标。不在就把当前数存进对象,继续往后遍历。

functiontwoSum(nums,target){constseen={};for(leti=0;i<nums.length;i++){constcomplement=target-nums[i];if(seen.hasOwnProperty(complement)){return[seen[complement],i];}seen[nums[i]]=i;}return[];}
  • 时间复杂度:O(n),只需遍历一次
  • 空间复杂度:O(n),需要额外对象存储
  • 优势:写法简单,适合快速上手

解法二:Map

思路:和对象缓存完全一样,只是换成 Map 数据结构。

functiontwoSum(nums,target){constmap=newMap();for(leti=0;i<nums.length;i++){constcomplement=target-nums[i];if(map.has(complement)){return[map.get(complement),i];}map.set(nums[i],i);}return[];}
  • 时间复杂度:O(n),只需遍历一次
  • 空间复杂度:O(n),需要额外 Map 存储
  • 优势:Map 键可以是任意类型,有 size 属性,迭代更方便,大数据量下性能更稳定

扩展题

  1. 三数之和:找出所有和为 0 的三元组,要求不重复。
  2. 四数之和:找出所有和为 target 的四元组。
  3. 两数之和 II:输入有序数组,数组已升序排列,找两数使和等于 target,返回下标(从1开始)。
  4. 两数之和 IV:输入 BST,给定二叉搜索树和一个目标值,判断是否存在两个节点和等于 target。
http://www.jsqmd.com/news/1092921/

相关文章:

  • 分库分表实战
  • Java 调试入门工具
  • 大湾区EMBA特色测评:科学选型理性指南
  • python: Deadline Pattern
  • 从零到一:如何用免费开源Verilog工具链打造专业数字电路
  • StockWidget:桌面悬浮的轻量盯盘小工具
  • 关于vidocoding的开发流程
  • 微信小程序云开发实战:从0到1构建“商业清洁预约”双向匹配后端
  • CBDC安全架构:密码学签名与硬件防护核心技术解析
  • 【单片机毕业设计】基于 STM32 的多模式智能路灯控制系统设计, 基于单片机的光照自适应路灯亮度调节系统设计(014001)
  • Python 文件打开模式总结
  • 为什么顶尖AI团队拒绝“通用提示词”?——稀缺首发:金融/医疗/法律三大垂直领域217条经审计Prompt资产包(限时开放下载)
  • 图片进知识库:先让模型生成文字描述再检索
  • StyleGAN 技术脉络:从风格空间到无混叠生成
  • 《科技代替了我工作》值得被认真放进中文歌单
  • Java 多线程:继承 Thread 与实现 Runnable 两种创建方式完整对比
  • 吾爱出品,必属精品,离线可用!
  • 自动定期备份服务器数据
  • python下载M3U8视频脚本
  • 【单片机毕业设计】基于 STM32 的超重声光报警电子秤设计与实现,基于 STM32 的阈值式重量监测报警系统设计(013701)
  • AI截图工具免费下载,基于DeepSeek的OCR截图软件支持Mac和Win
  • 三列布局三大方案对比总结
  • TI TPIC7710EVM评估模块:汽车EPB系统ASIC驱动与电机控制实战解析
  • Burp Suite实战:验证码场景下的自动化渗透测试与绕过技术
  • 专业iOS激活锁绕过工具applera1n:5分钟恢复iPhone 6s-X使用权限
  • 单板测试正常,整机运行异常:6 类系统排查清单
  • 关于我的第十次web作业
  • YOLO轻量化与部署优化- 第75篇:ONNX导出与优化:从PyTorch到ONNX部署
  • 传统潮流款库存一定会亏损,编程潮流款二手转售,改款二次销售收益模型,降低滞销亏损。
  • PilotGo-plugin-llmops API全解析:轻松集成与二次开发