音乐
音乐
暂未播放
0:00/0:00
暂无歌词
LeetCode | 哈希表
481 字
2 分钟
LeetCode | 哈希表
分类:哈希表 / 总结
讲解#
哈希表题目的核心是:先建一张表,再去表里查东西。
两数之和 把 已经遍历过的数字,以及它的下标放进字典作为哈希表,查target - num 在不在表里,最后返回两个数字对应的下标。
字母异位词分组 把 排序后的字符串(key) -> 原字符串列表(value)放进字典作为哈希表,,查当前字符串排序后的 key在不在表里,最后返回字典里所有 value,也就是分好组的字符串列表。
最长连续序列 把 nums 通过set(nums)去重后的所有数字放进集合作为哈希表,查先查 x - 1 在不在确定是不是序列起点,再不断查 x + 1、x + 2、…在不在表里,最后返回最长连续序列的长度。
哈希表题目重要是:我应该把什么变成 key,又要用这个 key 查什么。
代码#
两数之和#
1class Solution:2 def twoSum(self, nums: list[int], target: int) -> list[int]:3 seen = {}4
5 for i, num in enumerate(nums):6 need = target - num7 if need in seen:8 return [seen[need], i]9
10 seen[num] = i11 return []字母异位词分组(排序法)#
1from collections import defaultdict2from typing import List3
4
5class Solution:6 def groupAnagrams(self, strs: List[str]) -> List[List[str]]:7 mp = defaultdict(list)8
9 for st in strs:10 key = "".join(sorted(st))11 mp[key].append(st)12
13 return list(mp.values())最长连续序列#
1from typing import List2
3
4class Solution:5 def longestConsecutive(self, nums: List[int]) -> int:6 st = set(nums)7 m = len(st)8
9 ans = 010 for x in st:11 if x - 1 in st:12 continue13
14 y = x + 115 while y in st:16 y += 117
18 ans = max(ans, y - x)19 if ans * 2 >= m:20 break21
22 return ans参考资料#
- 两数之和
- 字母异位词分组
- 最长连续序列
- LeetCode 两数之和:https://leetcode.com/problems/two-sum/
- LeetCode 字母异位词分组:https://leetcode.com/problems/group-anagrams/
- LeetCode 最长连续序列:https://leetcode.com/problems/longest-consecutive-sequence/
- 力扣两数之和题解:https://leetcode.cn/problems/two-sum/solutions/
- 力扣字母异位词分组题解:https://leetcode.cn/problems/group-anagrams/solutions/520469/zi-mu-yi-wei-ci-fen-zu-by-leetcode-solution/
- 力扣最长连续序列题解:https://leetcode.cn/problems/longest-consecutive-sequence/solutions/3005726/ha-xi-biao-on-zuo-fa-pythonjavacgojsrust-whop/
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
最后更新于 2026-08-03
部分内容可能已过时
相关文章智能推荐
1
LeetCode | 两数之和
LeetCodeLeetCode 两数之和题解:使用 Python 字典作为哈希表,在一次遍历中找到目标下标。
2
LeetCode | 双指针
LeetCode整理 LeetCode 双指针题目的核心思路:用两个指针描述位置或范围,并按规则移动,涵盖移动零、盛水容器、三数之和、接雨水、最长回文子串。
3
LeetCode | 最长连续序列
LeetCodeLeetCode 最长连续序列题解:使用哈希集合只从连续序列起点开始统计最长长度。
4
LeetCode | 反转链表
LeetCodeLeetCode 反转链表题解:使用迭代法逐个翻转节点指向,时间复杂度 O(n),空间复杂度 O(1)。
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
岁次壬寅,序属季夏。负箧吴江,栖迟久泳。时维高考新败,登阊门而北望,临胥江以长嗟。昔者子安命蹇,尚能奋藻于滕阁;今吾才疏,岂可沉沦于吴市?乃焚膏以继晷,立雪而追贤。自暑月即研电学之微,探数理之奥。但求踔厉侪辈,砥砺锋芒。 洎乎素商既至,庠序始开。选修五门皆得满绩,总评冠绝同侪。然尘世难料,人心叵测。交非其人,悔吝丛生。一载相交,竟转瞬成参商。当是时也,恍若屈子见放,贾生受谗。然仲尼厄而作春秋,左丘眇而厥有国语。经此砥砺,竟愈宿疾:昔之曲意逢迎,今则坦荡自持;向之汲汲人言,今则泰然自若。所谓塞翁失马,焉知非福耶? 若夫玄冥司节,青阳启序。既专课业,复骋赛场。数模电赛,殚精竭虑;车赛集创,呕心镂骨。常观吴江夜月,每伴姑苏晨星。悬梁刺股,非为功名之累;凿壁囊萤,实怀鸿鹄之志。终使课业蝉联榜首,竞赛累获殊荣。然形神俱瘁,犹记寒宵病骨,强支案牍;伏暑昏眩,犹自深研不辍。 岁次甲辰,时逢白藏。绩点累年称冠,奖项盈箧成行。遂膺国奖之荣,如登龙门之津。乃遍谒名师,广求良策。拟鹏徙南冥,期凤鸣岐阳。幸得燕园李萌先生青眼,许列门墙。继入艾捷科芯实习,兼修毕业设计。两事交并,心力俱疲。承钟林峰师兄鼎力,终克难关。 今当辞别葑溪,将赴燕台。忆昔韩洪润学长,指迷津于暗夜;念吴圣洁挚友,伴苦读于寒窗。实乃天眷优渥,得遇诸君。昔者范公划粥,终成社稷之臣;欧母画荻,乃育文章之伯。予虽驽钝,敢不踵武前修?悟已往之不谏,知来者之可追。陶元亮归去来辞,实获我心;王子安穷且益坚,宁移素志?今将整装而北发,岂效楚囚之泣?当乘长风,破巨浪,展鸿图于未央!



