Skip to content

Latest commit

 

History

History
174 lines (165 loc) · 37.6 KB

design.md

File metadata and controls

174 lines (165 loc) · 37.6 KB

设计

全部标签

数据结构

数组 矩阵 链表 双向链表 单调栈 队列 单调队列 堆(优先队列) 哈希表 字符串 字符串匹配 二叉树 二叉搜索树 最小生成树 有序集合 拓扑排序 最短路 强连通分量 欧拉回路 双连通分量 并查集 字典树 线段树 树状数组 后缀数组

算法

枚举 递归 分治 回溯 贪心 动态规划 排序 桶排序 计数排序 基数排序 归并排序 快速选择 二分查找 记忆化搜索 深度优先搜索 广度优先搜索 双指针 位运算 前缀和 计数 滑动窗口 状态压缩 哈希函数 滚动哈希 扫描线

其他

数学 数论 几何 博弈 模拟 组合数学 随机化 概率与统计 水塘抽样 拒绝采样 数据库 设计 数据流 脑筋急转弯 交互 迭代器 多线程


题号 标题 题解 标签 难度
146 LRU 缓存 [✓] 设计 哈希表 链表 1+ Medium
155 最小栈 [✓] 设计 Medium
170 两数之和 III - 数据结构设计 🔒 设计 数组 哈希表 2+ Easy
173 二叉搜索树迭代器 [✓] 设计 3+ Medium
208 实现 Trie (前缀树) [✓] 设计 字典树 哈希表 1+ Medium
211 添加与搜索单词 - 数据结构设计 [✓] 深度优先搜索 设计 字典树 1+ Medium
225 用队列实现栈 [✓] 设计 队列 Easy
232 用栈实现队列 [✓] 设计 队列 Easy
244 最短单词距离 II 🔒 设计 数组 哈希表 2+ Medium
251 展开二维向量 🔒 设计 数组 双指针 1+ Medium
271 字符串的编码与解码 🔒 设计 数组 字符串 Medium
281 锯齿迭代器 🔒 设计 队列 数组 1+ Medium
284 窥视迭代器 设计 数组 迭代器 Medium
288 单词的唯一缩写 🔒 设计 数组 哈希表 1+ Medium
295 数据流的中位数 [✓] 设计 双指针 数据流 2+ Hard
297 二叉树的序列化与反序列化 [✓] 深度优先搜索 广度优先搜索 3+ Hard
303 区域和检索 - 数组不可变 [✓] 设计 数组 前缀和 Easy
304 二维区域和检索 - 矩阵不可变 设计 数组 矩阵 1+ Medium
307 区域和检索 - 数组可修改 [✓] 设计 树状数组 线段树 1+ Medium
308 二维区域和检索 - 矩阵可修改 🔒 设计 树状数组 线段树 2+ Hard
341 扁平化嵌套列表迭代器 深度优先搜索 3+ Medium
346 数据流中的移动平均值 🔒 [✓] 设计 队列 数组 1+ Easy
348 设计井字棋 🔒 设计 数组 哈希表 2+ Medium
352 将数据流变为多个不相交区间 设计 二分查找 有序集合 Hard
353 贪吃蛇 🔒 设计 队列 数组 2+ Medium
355 设计推特 [✓] 设计 哈希表 链表 1+ Medium
359 日志速率限制器 🔒 设计 哈希表 数据流 Easy
362 敲击计数器 🔒 设计 队列 数组 2+ Medium
379 电话目录管理系统 🔒 [✓] 设计 队列 数组 2+ Medium
380 O(1) 时间插入、删除和获取随机元素 [✓] 设计 数组 哈希表 2+ Medium
381 O(1) 时间插入、删除和获取随机元素 - 允许重复 设计 数组 哈希表 2+ Hard
431 将 N 叉树编码为二叉树 🔒 深度优先搜索 广度优先搜索 2+ Hard
432 全 O(1) 的数据结构 [✓] 设计 哈希表 链表 1+ Hard
449 序列化和反序列化二叉搜索树 深度优先搜索 广度优先搜索 4+ Medium
460 LFU 缓存 设计 哈希表 链表 1+ Hard
535 TinyURL 的加密与解密 设计 哈希表 字符串 1+ Medium
588 设计内存文件系统 🔒 设计 字典树 哈希表 2+ Hard
604 迭代压缩字符串 🔒 设计 数组 字符串 1+ Easy
622 设计循环队列 [✓] 设计 队列 数组 1+ Medium
631 设计 Excel 求和公式 🔒 设计 拓扑排序 2+ Hard
635 设计日志存储系统 🔒 设计 哈希表 字符串 1+ Medium
641 设计循环双端队列 [✓] 设计 队列 数组 1+ Medium
642 设计搜索自动补全系统 🔒 深度优先搜索 设计 字典树 4+ Hard
676 实现一个魔法字典 深度优先搜索 设计 字典树 2+ Medium
677 键值映射 设计 字典树 哈希表 1+ Medium
703 数据流中的第 K 大元素 [✓] 设计 二叉搜索树 3+ Easy
705 设计哈希集合 [✓] 设计 数组 哈希表 2+ Easy
706 设计哈希映射 [✓] 设计 数组 哈希表 2+ Easy
707 设计链表 [✓] 设计 链表 Medium
715 Range 模块 设计 线段树 有序集合 Hard
716 最大栈 🔒 设计 链表 2+ Hard
729 我的日程安排表 I [✓] 设计 线段树 数组 2+ Medium
731 我的日程安排表 II [✓] 设计 线段树 数组 3+ Medium
732 我的日程安排表 III 设计 线段树 二分查找 2+ Hard
745 前缀和后缀搜索 设计 字典树 数组 2+ Hard
855 考场就座 设计 有序集合 堆(优先队列) Medium
895 最大频率栈 设计 哈希表 1+ Hard
900 RLE 迭代器 设计 数组 计数 1+ Medium
901 股票价格跨度 设计 数据流 1+ Medium
911 在线选举 设计 数组 哈希表 1+ Medium
919 完全二叉树插入器 广度优先搜索 设计 1+ Medium
933 最近的请求次数 设计 队列 数据流 Easy
981 基于时间的键值存储 设计 哈希表 字符串 1+ Medium
1032 字符流 设计 字典树 数组 2+ Hard
1146 快照数组 设计 数组 哈希表 1+ Medium
1157 子数组中占绝大多数的元素 设计 树状数组 线段树 2+ Hard
1166 设计文件系统 🔒 设计 字典树 哈希表 1+ Medium
1172 餐盘栈 设计 哈希表 1+ Hard
1206 设计跳表 设计 链表 Hard
1244 力扣排行榜 🔒 设计 哈希表 排序 Medium
1261 在受污染的二叉树中查找元素 深度优先搜索 广度优先搜索 3+ Medium
1286 字母组合迭代器 设计 字符串 回溯 1+ Medium
1348 推文计数 设计 哈希表 二分查找 2+ Medium
1352 最后 K 个数的乘积 设计 队列 数组 2+ Medium
1357 每隔 n 个顾客打折 设计 数组 哈希表 Medium
1381 设计一个支持增量操作的栈 [✓] 设计 数组 Medium
1396 设计地铁系统 设计 哈希表 字符串 Medium
1429 第一个唯一数字 🔒 设计 队列 数组 2+ Medium
1472 设计浏览器历史记录 [✓] 设计 数组 3+ Medium
1476 子矩形查询 设计 数组 矩阵 Medium
1483 树节点的第 K 个祖先 深度优先搜索 广度优先搜索 3+ Hard
1500 设计文件分享系统 🔒 设计 哈希表 数据流 2+ Medium
1570 两个稀疏向量的点积 🔒 设计 数组 哈希表 1+ Medium
1586 二叉搜索树迭代器 II 🔒 设计 3+ Medium
1600 王位继承顺序 深度优先搜索 设计 1+ Medium
1603 设计停车系统 设计 计数 模拟 Easy
1622 奇妙序列 设计 线段树 数学 Hard
1628 设计带解析函数的表达式树 🔒 设计 3+ Medium
1656 设计有序流 设计 数组 哈希表 1+ Easy
1670 设计前中后队列 设计 队列 数组 2+ Medium
1756 设计最近使用(MRU)队列 🔒 设计 树状数组 3+ Medium
1797 设计一个验证系统 设计 哈希表 链表 1+ Medium
1804 实现 Trie (前缀树) II 🔒 设计 字典树 哈希表 1+ Medium
1825 求出 MK 平均值 设计 队列 数据流 2+ Hard
1845 座位预约管理系统 设计 堆(优先队列) Medium
1865 找出和为指定值的下标对 设计 数组 哈希表 Medium
1912 设计电影租借系统 设计 数组 哈希表 2+ Hard
1993 树上的操作 深度优先搜索 广度优先搜索 3+ Medium
2013 检测正方形 设计 数组 哈希表 1+ Medium
2034 股票价格波动 设计 哈希表 数据流 2+ Medium
2043 简易银行系统 设计 数组 哈希表 1+ Medium
2069 模拟行走机器人 II 设计 模拟 Medium
2080 区间内查询数字的频率 设计 线段树 数组 2+ Medium
2102 序列顺序查询 设计 数据流 有序集合 1+ Hard
2166 设计位集 设计 数组 哈希表 1+ Medium
2227 加密解密字符串 设计 字典树 数组 2+ Hard
2241 设计一个 ATM 机器 贪心 设计 数组 Medium
2254 设计视频共享平台 🔒 设计 哈希表 1+ Hard
2276 统计区间中的整数数目 设计 线段树 有序集合 Hard
2286 以组为单位订音乐会的门票 设计 树状数组 线段树 1+ Hard
2296 设计一个文本编辑器 设计 链表 3+ Hard
2336 无限集中的最小数字 设计 哈希表 有序集合 1+ Medium
2349 设计数字容器系统 设计 哈希表 有序集合 1+ Medium
2353 设计食物评分系统 设计 哈希表 有序集合 1+ Medium
2408 设计 SQL 🔒 设计 数组 哈希表 1+ Medium
2424 最长上传前缀 并查集 设计 树状数组 4+ Medium
2502 设计内存分配器 设计 数组 哈希表 1+ Medium
2526 找到数据流中的连续整数 设计 队列 哈希表 2+ Medium
2590 设计一个待办事项清单 🔒 设计 数组 哈希表 2+ Medium
2642 设计可以求最短路径的图类 设计 最短路 1+ Hard
2671 频率跟踪器 设计 哈希表 Medium
3242 设计相邻元素求和服务 设计 数组 哈希表 2+ Easy
LCP 27 黑盒光线反射 设计 线段树 数学 1+ Hard
剑指 Offer 30 包含min函数的栈 [✓] 设计 Easy
剑指 Offer 37 序列化二叉树 [✓] 深度优先搜索 广度优先搜索 3+ Hard
剑指 Offer 41 数据流中的中位数 [✓] 设计 双指针 数据流 2+ Hard
剑指 Offer 59-II 队列的最大值 [✓] 设计 队列 单调队列 Medium
剑指 Offer 9 用两个栈实现队列 [✓] 设计 队列 Easy
剑指 Offer II 13 二维子矩阵的和 设计 数组 矩阵 1+ Medium
剑指 Offer II 30 插入、删除和随机访问都是 O(1) 的容器 [✓] 设计 数组 哈希表 2+ Medium
剑指 Offer II 31 最近最少使用缓存 [✓] 设计 哈希表 链表 1+ Medium
剑指 Offer II 41 滑动窗口的平均值 [✓] 设计 队列 数组 1+ Easy
剑指 Offer II 42 最近请求次数 设计 队列 数据流 Easy
剑指 Offer II 43 往完全二叉树添加节点 广度优先搜索 设计 1+ Medium
剑指 Offer II 48 序列化与反序列化二叉树 [✓] 深度优先搜索 广度优先搜索 3+ Hard
剑指 Offer II 55 二叉搜索树迭代器 [✓] 设计 3+ Medium
剑指 Offer II 58 日程表 [✓] 设计 线段树 二分查找 1+ Medium
剑指 Offer II 59 数据流的第 K 大数值 [✓] 设计 二叉搜索树 3+ Easy
剑指 Offer II 62 实现前缀树 [✓] 设计 字典树 哈希表 1+ Medium
剑指 Offer II 64 神奇的字典 深度优先搜索 设计 字典树 2+ Medium
剑指 Offer II 66 单词之和 设计 字典树 哈希表 1+ Medium
面试题 03.01 三合一 设计 数组 Easy
面试题 03.02 栈的最小值 设计 Easy
面试题 03.03 堆盘子 设计 链表 Medium
面试题 03.04 化栈为队 设计 队列 Easy
面试题 03.05 栈排序 设计 单调栈 Medium
面试题 03.06 动物收容所 设计 队列 Easy
面试题 10.10 数字流的秩 设计 树状数组 二分查找 1+ Medium
面试题 16.02 单词频率 设计 字典树 数组 2+ Medium
面试题 16.09 运算 设计 数学 Medium
面试题 16.25 LRU 缓存 [✓] 设计 哈希表 链表 1+ Medium
面试题 17.20 连续中值 设计 双指针 数据流 2+ Hard