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

题目描述

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

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

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

解题思路

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

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

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

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

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

相关推荐
LabVIEW开发28 分钟前
CTM-3 红外测温仪 + LabVIEW 温度怎么测?
算法·labview·测试·labview程序
纪念 22943 分钟前
C++算法(六)
开发语言·c++·算法
Dumbness2 小时前
UIA 读微信群消息没有 id,怎么判断哪条是新的:后缀对齐在翻历史和撤回时整屏重报
python·算法
taka2 小时前
从 24x 到 141x:我用纯 Python 零依赖项目,扒开了 GPU 加速的性能黑洞
算法
UIU1142 小时前
P16237 [蓝桥杯 2026 省 B] 应急布线
数据结构·c++·算法·蓝桥杯
旖旎夜光2 小时前
LeetCode 315: 算右侧小于当前元素的个数(归并排序) —— 题解
c++·学习·算法·leetcode·排序算法
像风一样自由20203 小时前
2.如何用FastAPI把一个Python算法封装成HTTP服务
python·算法·fastapi
D e re k ZH3 小时前
保序回归:从 PAVA 到可并堆的单调约束优化
c++·算法·数据挖掘·回归·kotlin
青少儿编程课堂3 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:字典树前缀树与单词检索统计
c++·python·算法·bfs·信息学竞赛
文丑颜不良啊3 小时前
LeetCode1401~1420题目解析
java·leetcode