朴素算法Bare Algo

哈希表

利用哈希表解决查找、去重、计数等问题。

算法题

(19)
242. 有效的字母异位词
简单
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
哈希表字符串排序
49. 字母异位词分组
中等
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
哈希表字符串排序
36. 有效的数独
中等
请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。
数组哈希表矩阵
128. 最长连续序列
中等
给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。
数组哈希表并查集
347. 前 K 个高频元素
中等
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。
数组哈希表堆
560. 和为 K 的子数组
中等
给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。
数组哈希表前缀和
146. LRU 缓存
中等
请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。
哈希表链表设计
202. 快乐数
简单
编写一个算法来判断一个数 n 是不是快乐数。
哈希表数学双指针
205. 同构字符串
简单
给定两个字符串 s 和 t ,判断它们是否是同构的。
哈希表字符串
290. 单词规律
简单
给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。
哈希表字符串
380. O(1) 时间插入、删除和获取随机元素
中等
实现 RandomizedSet 类。确保在 O(1) 时间内完成插入、删除和获取随机元素操作。
数组哈希表数学设计随机化
705. 设计哈希集合
简单
不使用任何内建的哈希表库设计一个哈希集合(HashSet)。
数组哈希表链表设计哈希函数
706. 设计哈希映射
简单
不使用任何内建的哈希表库设计一个哈希映射(HashMap)。
数组哈希表链表设计哈希函数
454. 四数相加 II
中等
暂无描述
217. 存在重复元素
中等
暂无描述
219. 存在重复元素 II
中等
暂无描述
387. 字符串中的第一个唯一字符
中等
暂无描述
349. 两个数组的交集
中等
暂无描述
1. 两数之和
中等
暂无描述

实际应用

(7)
去重与快速查找
简单
利用 Set/Map 的 O(1) 查找特性,高效处理权限点检查、Feature Flags 判断、已请求 Key 记录以及已加载资源的去重。
哈希查找性能优化去重
缓存与记忆化
中等
实现 Memoization(如 React.memo, reselect),将函数参数作为 Key,计算结果作为 Value 存入 Map,避免纯函数的重复计算。
哈希映射缓存性能优化
Diff 列表对齐
困难
在 React/Vue 虚拟 DOM Diff 过程中,使用 Map 建立 `key -> index` 的映射,实现 O(1) 时间内定位老节点,进行复用或移动。
哈希映射框架原理
计数与聚合
简单
处理埋点统计、词频分析、标签聚类或数据分桶(Bucket)时,哈希表是统计出现次数和分类汇总的最常用工具。
哈希计数统计数据分析
反向索引 (Inverted Index)
中等
前端搜索或长文本高亮时,建立 Token 到 IDs/Positions 的反向映射,实现按关键词快速查找包含该关键词的文档或位置。
倒排索引搜索高亮
幂等与防重
简单
记录正在进行的请求 Key 或已提交的表单 ID,拦截重复提交,确保操作的幂等性。
哈希集合网络请求表单
随机与抽样
中等
在 A/B 测试分桶或随机推荐场景中,通过 Hash 算法将用户 ID 映射到固定的 Bucket 中,或结合数组实现等概率随机抽样。
哈希取模测试推荐