Day1:基础入门·两数之和(LeetCode 1)

题目描述

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

注意:你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。

示例:输入:nums = [2,7,11,15], target = 9 → 输出:[0,1](解释:因为 nums[0] + nums[1] = 2 + 7 = 9)

解题思路

核心思路:利用哈希表(HashMap)的查询优势,减少时间复杂度。

  1. 遍历数组,对于每个元素 nums[i],计算其补数(target - nums[i]);

  2. 检查哈希表中是否存在该补数:若存在,直接返回补数的下标和当前下标 i;若不存在,将当前元素 nums[i] 和其下标 i 存入哈希表;

  3. 遍历结束后,必能找到唯一答案(题目保证每种输入对应一个答案)。

复杂度分析:时间复杂度 O(n)(仅遍历一次数组),空间复杂度 O(n)(哈希表最多存储 n 个元素)。

相关推荐
吃好睡好便好8 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
仰泳之鹅9 小时前
【C语言】自定义数据类型2——联合体与枚举
c语言·开发语言·算法
x_yeyue11 小时前
三角形数
笔记·算法·数论·组合数学
Mr. zhihao12 小时前
深入解析redis基本数据结构
数据结构·数据库·redis
念何架构之路12 小时前
Go语言加密算法
数据结构·算法·哈希算法
AI科技星12 小时前
《数学公理体系·第三部·数术几何》(2026 年版)
c语言·开发语言·线性代数·算法·矩阵·量子计算·agi
失去的青春---夕阳下的奔跑12 小时前
560. 和为 K 的子数组
数据结构·算法·leetcode
黎阳之光12 小时前
黎阳之光:以视频孪生重构智慧医院信息化,打造高标项目核心竞争力
大数据·人工智能·物联网·算法·数字孪生
丷丩13 小时前
三级缓存下MVT地图瓦片服务性能优化策略
算法·缓存·性能优化·gis·geoai-up
m0_6294947313 小时前
LeetCode 热题 100-----25.回文链表
数据结构·算法·leetcode·链表