音乐
音乐
暂未播放
0:00/0:00
暂无歌词
LeetCode | 两数之和
505 字
3 分钟
LeetCode | 两数之和
分类:哈希表
题目#
给定一个整数数组 nums 和一个整数 target,需要找出数组中两个不同位置的元素,使它们的和等于 target,并返回这两个元素的下标。
题目保证每组输入恰好存在一个答案。同一个元素不能使用两次。返回的两个下标顺序通常不重要。
示例:
1输入: nums = [2, 7, 11, 15], target = 92输出: [0, 1]3原因: nums[0] + nums[1] = 2 + 7 = 91输入: nums = [3, 2, 4], target = 62输出: [1, 2]1输入: nums = [3, 3], target = 62输出: [0, 1]讲解#
目标是找两个数,它们相加等于 target。
最直接的做法是两层循环,把所有组合都试一遍。时间复杂度是 O(n^2),空间复杂度是 O(1)。
更好的做法是用字典记录已经见过的数字。Python 的字典就是一种哈希表,可以理解成“快速查找表”,这里保存的是:
1数字 -> 下标当遍历到当前数字 num 时,只需要看字典里有没有 target - num。如果有,这两个数就正好组成答案。
哈希表会根据要查的数字快速定位位置,不是像列表那样从头到尾一个个比较。need in seen 查的是字典,平均查找复杂度是 O(1),所以不会把整体复杂度变回 O(n^2)。
关键点是:先查需要的数,再记录当前数。这样不会把同一个元素用两次。
复杂度:
- 暴力做法:时间复杂度
O(n^2),空间复杂度O(1) - 字典做法:时间复杂度
O(n),空间复杂度O(n)
代码#
源码#
1class Solution:2 def twoSum(self, nums: List[int], target: int) -> List[int]:3 _hash = {}4
5 for i,num in enumerate(nums):6 find = target - num7 if( find in _hash ):8 return [_hash[find],i]9 _hash[num] = i10 return []测试#
1from src.python._001_Two_Sum import Solution2
3
4sol = Solution()5assert sol.twoSum([2, 7, 11, 15], 9) == [0, 1]6assert sol.twoSum([3, 2, 4], 6) == [1, 2]7assert sol.twoSum([3, 3], 6) == [0, 1]8
9print("PASS")参考资料#
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
最后更新于 2026-07-31
部分内容可能已过时
相关文章智能推荐
1
LeetCode | 两数相加
LeetCodeLeetCode 两数相加题解:模拟竖式逐位相加,dummy 虚拟头节点串联结果链表,维护 carry 进位。
2
LeetCode | 三数之和
LeetCodeLeetCode 三数之和题解:先排序,再固定一个数并用双指针寻找不重复三元组。
3
LeetCode | 哈希表
LeetCode整理 LeetCode 哈希表题目的核心思路:先建表,再查表。
4
LeetCode | 最长连续序列
LeetCodeLeetCode 最长连续序列题解:使用哈希集合只从连续序列起点开始统计最长长度。
5
LeetCode | 合并两个有序链表
LeetCodeLeetCode 合并两个有序链表题解:双指针遍历比较节点值,dummy 虚拟头节点串联结果链表。
随机文章随机推荐
暂无随机文章
评论区
分享你的想法,与大家交流讨论
站点统计
文章
118
分类
20
标签
164
总字数
1,050,769
运行时长
0 天
最后活动
0 天前
最新动态
2026.09.04
过往皆是序章,前路漫有星光
2026.09.02
九月风至,赴约燕园
2026.07.06
岁次壬寅,序属季夏。负箧吴江,栖迟久泳。时维高考新败,登阊门而北望,临胥江以长嗟。昔者子安命蹇,尚能奋藻于滕阁;今吾才疏,岂可沉沦于吴市?乃焚膏以继晷,立雪而追贤。自暑月即研电学之微,探数理之奥。但求踔厉侪辈,砥砺锋芒。 洎乎素商既至,庠序始开。选修五门皆得满绩,总评冠绝同侪。然尘世难料,人心叵测。交非其人,悔吝丛生。一载相交,竟转瞬成参商。当是时也,恍若屈子见放,贾生受谗。然仲尼厄而作春秋,左丘眇而厥有国语。经此砥砺,竟愈宿疾:昔之曲意逢迎,今则坦荡自持;向之汲汲人言,今则泰然自若。所谓塞翁失马,焉知非福耶? 若夫玄冥司节,青阳启序。既专课业,复骋赛场。数模电赛,殚精竭虑;车赛集创,呕心镂骨。常观吴江夜月,每伴姑苏晨星。悬梁刺股,非为功名之累;凿壁囊萤,实怀鸿鹄之志。终使课业蝉联榜首,竞赛累获殊荣。然形神俱瘁,犹记寒宵病骨,强支案牍;伏暑昏眩,犹自深研不辍。 岁次甲辰,时逢白藏。绩点累年称冠,奖项盈箧成行。遂膺国奖之荣,如登龙门之津。乃遍谒名师,广求良策。拟鹏徙南冥,期凤鸣岐阳。幸得燕园李萌先生青眼,许列门墙。继入艾捷科芯实习,兼修毕业设计。两事交并,心力俱疲。承钟林峰师兄鼎力,终克难关。 今当辞别葑溪,将赴燕台。忆昔韩洪润学长,指迷津于暗夜;念吴圣洁挚友,伴苦读于寒窗。实乃天眷优渥,得遇诸君。昔者范公划粥,终成社稷之臣;欧母画荻,乃育文章之伯。予虽驽钝,敢不踵武前修?悟已往之不谏,知来者之可追。陶元亮归去来辞,实获我心;王子安穷且益坚,宁移素志?今将整装而北发,岂效楚囚之泣?当乘长风,破巨浪,展鸿图于未央!
日
一
二
三
四
五
六
文章目录
--
总访问量
--
访客数
公告
音乐
音乐
暂未播放
0:00/0:00
暂无歌词
站点统计
文章
118
分类
20
标签
164
总字数
1,050,769
运行时长
0 天
最后活动
0 天前
最新动态
2026.09.04
过往皆是序章,前路漫有星光
2026.09.02
九月风至,赴约燕园
2026.07.06
岁次壬寅,序属季夏。负箧吴江,栖迟久泳。时维高考新败,登阊门而北望,临胥江以长嗟。昔者子安命蹇,尚能奋藻于滕阁;今吾才疏,岂可沉沦于吴市?乃焚膏以继晷,立雪而追贤。自暑月即研电学之微,探数理之奥。但求踔厉侪辈,砥砺锋芒。 洎乎素商既至,庠序始开。选修五门皆得满绩,总评冠绝同侪。然尘世难料,人心叵测。交非其人,悔吝丛生。一载相交,竟转瞬成参商。当是时也,恍若屈子见放,贾生受谗。然仲尼厄而作春秋,左丘眇而厥有国语。经此砥砺,竟愈宿疾:昔之曲意逢迎,今则坦荡自持;向之汲汲人言,今则泰然自若。所谓塞翁失马,焉知非福耶? 若夫玄冥司节,青阳启序。既专课业,复骋赛场。数模电赛,殚精竭虑;车赛集创,呕心镂骨。常观吴江夜月,每伴姑苏晨星。悬梁刺股,非为功名之累;凿壁囊萤,实怀鸿鹄之志。终使课业蝉联榜首,竞赛累获殊荣。然形神俱瘁,犹记寒宵病骨,强支案牍;伏暑昏眩,犹自深研不辍。 岁次甲辰,时逢白藏。绩点累年称冠,奖项盈箧成行。遂膺国奖之荣,如登龙门之津。乃遍谒名师,广求良策。拟鹏徙南冥,期凤鸣岐阳。幸得燕园李萌先生青眼,许列门墙。继入艾捷科芯实习,兼修毕业设计。两事交并,心力俱疲。承钟林峰师兄鼎力,终克难关。 今当辞别葑溪,将赴燕台。忆昔韩洪润学长,指迷津于暗夜;念吴圣洁挚友,伴苦读于寒窗。实乃天眷优渥,得遇诸君。昔者范公划粥,终成社稷之臣;欧母画荻,乃育文章之伯。予虽驽钝,敢不踵武前修?悟已往之不谏,知来者之可追。陶元亮归去来辞,实获我心;王子安穷且益坚,宁移素志?今将整装而北发,岂效楚囚之泣?当乘长风,破巨浪,展鸿图于未央!



