9 个版本
| 0.2.0 | 2020 年 11 月 21 日 |
|---|---|
| 0.1.7 | 2020 年 8 月 11 日 |
#1891 in 数据结构
每月 32 次下载
2MB
60K SLoC
Leetcode Rust 解决方案

该项目演示了如何使用编程语言 Rust 创建 数据结构 并实现 算法。这里所有的解决方案都是精心制作的,它们的性能优于 LeetCode 网站上 99% 的其他解决方案。稍后会增加教程视频。
请订阅我们的 Rust Gym YouTube 频道 以获取未来视频。
数据结构
- 栈 & 队列 ( Vec, VecDeque )
- 链表 ( Option<Box> )
- 哈希表 ( HashMap, HashSet )
- 树表 ( BTreeMap, BTreeSet )
- 二叉搜索树 ( Option<Rc<RefCell>> )
- 二叉堆 & 优先队列 ( BinaryHeap )
- 图 ( Vec<Vec> )
- 并查集 ( UnionFind )
- 字典树 ( Trie )
算法
- 位操作 & 数字
- 排序的稳定性
- 堆排序
- 二分查找
- 第 k 小元素
- 排列
- 子集
- BFS 图
- DFS 图
- Dijkstra 算法
- 树遍历
- BFS
- DFS
- 中序
- 先序
- 后序
- 拓扑排序
- 检测无向图中的循环
- 检测有向图中的循环
- 计算图中的连通分量数量
- 找到图中的强连通分量
编码面试
LeetCode是一个让人们(主要是软件工程师)练习编程技能的网站。这里有1200+个问题(且数量持续增长),每个问题都有多个解决方案。问题根据难度等级排序:简单、中等和困难。在过去十年左右的时间里,技术面试过程变得程式化和一些工程师认为的“不自然”。在面试中要求人们做什么——解决基于单词或代码的谜题、在白板上编程,以及在短时间内产出干净优化的解决方案——并不是他们在日常工作中会经历到的。
所有解决方案
简单 7/376 1.86%
中等 29/804 3.61%
难度119/330 36.06%
| id | 330个难题 | 标签 | 211个解决方案 |
|---|---|---|---|
| 440 | 字典序中第K小的元素 | ||
| 798 | 最高分数的最小旋转 | ||
| 154 | 旋转排序数组II中的最小值 | 数组 二分搜索 | |
| 644 | 最大平均子数组II | 数组 二分搜索 | |
| 1157 | 子数组中的在线多数元素 | 数组 二分搜索 段树 | |
| 782 | 转换为棋盘 | 数组数学 | |
| 891 | 子序列宽度之和 | 数组数学 | |
| 1330 | 反转子数组以最大化数组值 | 数组数学 | |
| 1499 | 方程的最大值 | 数组 滑动窗口 | |
| 308 | 2D可变范围求和查询 | 二叉索引树 段树 | |
| 1649 | 通过指令创建排序数组 | 二分索引树 段树 有序映射 | |
| 793 | 阶乘零函数的前像大小 | 二分查找 | |
| 1095 | 在山脉数组中查找 | 二分查找 | |
| 327 | 范围和计数 | 二分搜索 分治 排序 二分索引树 段树 | |
| 1293 | 网格中带有障碍物消除的最短路径 | 广度优先搜索 | |
| 1345 | 跳跃游戏IV | 广度优先搜索 | |
| 913 | 猫和老鼠 | 广度优先搜索 极小极大 | |
| 489 | 机器人房间清洁器 | 深度优先搜索 | |
| 749 | 包含病毒 | 深度优先搜索 | |
| 839 | 类似字符串组 | 深度优先搜索并查集图 | |
| 928 | 最小化恶意软件传播II | 深度优先搜索并查集图 | |
| 903 | 有效的DI序列排列 | 分治 动态规划 | |
| 466 | 计数重复 | 动态规划 | |
| 600 | 无连续1的非负整数 | 动态规划 | |
| 629 | 第K逆序数组 | 动态规划 | |
| 639 | 解码方式II | 动态规划 | |
| 656 | 硬币路径 | 动态规划 | |
| 741 | 樱桃采摘 | 动态规划 | |
| 879 | 盈利方案 | 动态规划 | |
| 920 | 音乐播放列表的数量 | 动态规划 | |
| 940 | 不同的字典序子序列II | 动态规划 | |
| 943 | 找到最短超字符串 | 动态规划 | |
| 956 | 最高的广告牌 | 动态规划 | |
| 1000 | 合并石头的最低成本 | 动态规划 | |
| 1187 | 使数组严格递增 | 动态规划 | |
| 1246 | 回文移除 | 动态规划 | |
| 1269 | 步骤后保持同一位置的数字数量 | 动态规划 | |
| 1301 | 具有最大得分的路径数量 | 动态规划 | |
| 1349 | 参加考试的最大学生数 | 动态规划 | |
| 1388 | 3n个切片的披萨 | 动态规划 | |
| 1397 | 找到所有好字符串 | 动态规划 | |
| 1416 | 恢复数组 | 动态规划 | |
| 1425 | 约束子序列和 | 动态规划 | |
| 1458 | 两个子序列的最大点积 | 动态规划 | |
| 1483 | 树的节点K个祖先 | 动态规划 | |
| 1601 | 最大可达传输请求数量 | 动态规划 | |
| 1639 | 给定字典生成目标字符串的方法数 | 动态规划 | |
| 691 | 拼写单词的贴纸 | 动态规划 回溯 | |
| 1655 | 分配重复整数 | 动态规划 回溯 | |
| 1373 | 二叉树中最大和BST | 动态规划 二叉搜索树 | |
| 1125 | 最小的足够团队 | 动态规划 位运算 | |
| 1434 | 相互戴不同帽子的方法数 | 动态规划 位运算 | |
| 664 | 奇怪的打印机 | 动态规划深度优先搜索 | |
| 975 | 奇偶跳跃 | 动态规划 栈 有序映射 | |
| 968 | 二叉树摄像头 | 动态规划 树 深度优先搜索 | |
| 587 | 建立栅栏 | 几何学 | |
| 1453 | 圆形飞镖盘内的最大飞镖数量 | 几何学 | |
| 1153 | 字符串转换为另一个字符串 | 图 | |
| 1494 | 并行课程II | 图 | |
| 757 | 至少有两个交集的集合 | 贪心算法 | |
| 1354 | 通过多次求和构建目标数组 | 贪心算法 | |
| 1505 | 最多进行K次相邻数字交换后的最小可能整数 | 贪心算法 | |
| 1591 | 奇怪的打印机II | 贪心算法 | |
| 995 | 最小K连续位翻转数 | 贪婪 滑动窗口 | |
| 1632 | 矩阵秩变换 | 贪心并查集 | |
| 1001 | 网格照明 | 散列表 | |
| 1224 | 最大等频率 | 散列表 | |
| 710 | 随机选择带黑名单 | 哈希表 二分查找 排序 随机 | |
| 1178 | 每个谜题的有效单词数量 | 哈希表位运算 | |
| 711 | 第二类不同岛屿的数量 | 哈希表深度优先搜索 | |
| 857 | 雇佣K名工人的最低成本 | 堆 | |
| 882 | 细分图中的可达节点 | 堆 | |
| 864 | 获取所有钥匙的最短路径 | 堆 广度优先搜索 | |
| 759 | 员工空闲时间 | 堆 贪心算法 | |
| 335 | 自交叉 | 数学 | |
| 805 | 按相同平均数拆分数组 | 数学 | |
| 810 | 粉笔板XOR游戏 | 数学 | |
| 906 | 超级回文数 | 数学 | |
| 972 | 相等的有理数 | 数学 | |
| 1088 | 混淆数II | 数学 回溯 | |
| 1307 | 文字算术谜题 | 数学 回溯 | |
| 1467 | 两个盒子具有相同数量的不同球数的概率 | 数学 回溯 | |
| 996 | 完全平方数组数量 | 数学 回溯 图 | |
| 483 | 最小良好基数 | 数学二分查找 | |
| 878 | N次魔法数 | 数学二分查找 | |
| 887 | 超级鸡蛋掉落 | 数学 二分查找 动态规划 | |
| 927 | 三个相等的部分 | 数学 二分查找 贪心 | |
| 1622 | 花哨序列 | 数学 设计 | |
| 902 | 给定数字集合中最多N个数字 | 数学 动态规划 | |
| 964 | 表示数字的最少操作数 | 数学 动态规划 | |
| 1012 | 有重复数字的数字 | 数学 动态规划 | |
| 1067 | 范围内的数字计数 | 数学 动态规划 | |
| 1199 | 构建块的最短时间 | 数学 动态规划 | |
| 1363 | 最大的三的倍数 | 数学 动态规划 | |
| 952 | 具有公共因子的最大组件大小 | 数学 并查集 | |
| 843 | 猜词游戏 | 最小-最大 | |
| 1606 | 处理最多请求数的服务器 | 有序映射 | |
| 850 | 矩形面积II | 线段树 线段扫描 | |
| 699 | 下落方块 | 线段树 有序映射 | |
| 715 | 范围模块 | 线段树 有序映射 | |
| 158 | 给定Read4 II读取N个字符 - 调用多次 | 字符串 | |
| 736 | 解析Lisp表达式 | 字符串 | |
| 1392 | 最长快乐前缀 | 字符串 | |
| 730 | 不同的回文子序列数 | 字符串动态规划 | |
| 1449 | 用加起来等于目标的数字形成最大的整数 | 字符串动态规划 | |
| 1531 | 字符串压缩II | 字符串动态规划 | |
| 936 | 盖章序列 | 贪婪字符串 | |
| 1316 | 不同的回声子字符串 | 字符串 滚动哈希 | |
| 591 | 标签验证器 | 字符串栈 | |
| 1163 | 字典序中最后的子字符串 | 字符串 后缀数组 | |
| 1597 | 从中缀表达式构建二叉表达式树 | 字符串树 | |
| 428 | 序列化和反序列化N叉树 | 树 | |
| 431 | 将N叉树编码为二叉树 | 树 | |
| 1516 | 移动N叉树的子树 | 树 | |
| 834 | 树中距离之和 | 树 深度优先搜索 | |
| 685 | 冗余连接II | 树 深度优先搜索 并查集 图 | |
| 745 | 前缀和后缀搜索 | 前缀树 | |
| 1610 | 可见点的最大数量 | 双指针 几何 | |
| 803 | 击中时砖块下落 | 并查集 | |
| 1028 | 从前序遍历恢复树 | 树 深度优先搜索 | 解决方案 |
| 1032 | 字符流 | 前缀树 | 解决方案 |
| 1036 | 逃离大迷宫 | 广度优先搜索 | 解决方案 |
| 1044 | 最长重复子字符串 | 哈希表二分搜索 | 解决方案 |
| 1063 | 有效子数组的数量 | 栈 | 解决方案 |
| 1074 | 目标和为目标的子矩阵数量 | 数组 动态规划 滑动窗口 | 解决方案 |
| 1092 | 最短公共超序列 | 动态规划 | 解决方案 |
| 1096 | 括号展开II | 字符串 | 解决方案 |
| 10 | 正则表达式匹配 | 字符串 动态规划 回溯 | 解决方案 |
| 1106 | 解析布尔表达式 | 字符串 | 解决方案 |
| 1121 | 将数组划分为递增序列 | 数学 | 解决方案 |
| 1136 | 并行课程 | 动态规划 深度优先搜索 图 | 解决方案 |
| 1147 | 最长的块状回文分解 | 动态规划 滚动哈希 | 解决方案 |
| 115 | 不同的子序列 | 字符串动态规划 | 解决方案 |
| 1168 | 优化村庄的供水 | 并查集图 | 解决方案 |
| 1172 | 餐盘堆叠 | 设计 | 解决方案 |
| 1183 | 最大数位 | 数学排序 | 解决方案 |
| 1192 | 网络中的关键连接 | 深度优先搜索 | 解决方案 |
| 1203 | 按组尊重依赖关系排序项目 | 深度优先搜索 图 拓扑排序 | 解决方案 |
| 1206 | 设计跳表 | 设计 | 解决方案 |
| 1210 | 最小旋转次数到达目标 | 广度优先搜索 | 解决方案 |
| 1216 | 有效的回文III | 字符串动态规划 | 解决方案 |
| 1220 | 元音排列数 | 动态规划 | 解决方案 |
| 1231 | 分巧克力 | 二分搜索贪婪算法 | 解决方案 |
| 1235 | 作业调度中的最大利润 | 二分查找 动态规划 排序 | 解决方案 |
| 123 | 买卖股票的最佳时机III | 数组 动态规划 | 解决方案 |
| 1240 | 用最少的正方形拼贴矩形 | 动态规划 回溯 | 解决方案 |
| 124 | 二叉树最大路径和 | 树 深度优先搜索 | 解决方案 |
| 1250 | 检查是否为好数组 | 数学 | 解决方案 |
| 1255 | 用字母形成最大分数的单词 | 位运算 | 解决方案 |
| 1259 | 不交叉的握手 | 数学 动态规划 | 解决方案 |
| 1263 | 将盒子移动到目标位置的最小移动次数 | 广度优先搜索 | 解决方案 |
| 126 | 单词梯II | 数组 字符串 回溯 广度优先搜索 | 解决方案 |
| 1274 | 矩形中的船数 | 分而治之 | 解决方案 |
| 1278 | 回文划分III | 动态规划 | 解决方案 |
| 1284 | 将二进制矩阵转换为零矩阵所需的最少翻转数 | 广度优先搜索 | 解决方案 |
| 1289 | 最小下落路径和II | 动态规划 | 解决方案 |
| 128 | 最长连续序列 | 数组并查集 | 解决方案 |
| 1298 | 从盒子中获取的最大糖果数 | 广度优先搜索 | 解决方案 |
| 1312 | 使字符串成为回文的最小插入步骤 | 动态规划 | 解决方案 |
| 1320 | 使用两只手指输入单词的最小距离 | 动态规划 | 解决方案 |
| 1326 | 浇水花园所需的最小水龙头开启次数 | 动态规划 贪心 | 解决方案 |
| 132 | 回文划分II | 动态规划 | 解决方案 |
| 1335 | 工作排程的最小难度 | 动态规划 | 解决方案 |
| 1340 | 跳转游戏V | 动态规划 | 解决方案 |
| 1359 | 计算所有有效取货和送货选项的计数 | 数学 动态规划 | 解决方案 |
| 135 | 糖果 | 贪心算法 | 解决方案 |
| 1368 | 在网格中至少形成一条有效路径的最小成本 | 广度优先搜索 | 解决方案 |
| 1377 | 经过T秒后的青蛙位置 | 深度优先搜索 | 解决方案 |
| 1383 | 团队的最大性能 | 贪婪排序 | 解决方案 |
| 1402 | 减少菜肴 | 动态规划 | 解决方案 |
| 1406 | 石游戏III | 动态规划 | 解决方案 |
| 140 | 单词拆分II | 动态规划 回溯 | 解决方案 |
| 1411 | N×3网格的着色方法数 | 动态规划 | 解决方案 |
| 1420 | 构建数组以便可以找到精确的K次比较 | 动态规划 | 解决方案 |
| 1439 | 找到具有排序行的矩阵的第K个最小和 | 堆 | 解决方案 |
| 1444 | 切割披萨的方法数 | 动态规划 | 解决方案 |
| 1463 | 樱桃采摘II | 动态规划 | 解决方案 |
| 1473 | 油漆房屋III | 动态规划 | 解决方案 |
| 1478 | 分配邮箱 | 数学 动态规划 | 解决方案 |
| 1489 | 在最小生成树中找到关键和伪关键边 | 深度优先搜索 并查集 | 解决方案 |
| 149 | 直线上的最大点数 | 哈希表数学 | 解决方案 |
| 1510 | 石游戏IV | 动态规划 | 解决方案 |
| 1515 | 服务中心的最佳位置 | 几何学 | 解决方案 |
| 1520 | 非重叠子字符串的最大数量 | 贪心算法 | 解决方案 |
| 1521 | 找到最接近目标的最神秘函数值 | 二分搜索位操作段树 | 解决方案 |
| 1526 | 对子数组进行最小增量以形成目标数组的最小次数 | 段树 | 解决方案 |
| 1537 | 获得最高分 | 动态规划 | 解决方案 |
| 1542 | 查找最长惊人的子字符串 | 字符串位操作 | 解决方案 |
| 1547 | 切割木棍的最小成本 | 动态规划 | 解决方案 |
| 1548 | 图中最相似路径 | 动态规划图 | 解决方案 |
| 1553 | 吃N个橙子的最小天数 | 动态规划 | 解决方案 |
| 1559 | 在2D网格中检测循环 | 深度优先搜索 | 解决方案 |
| 1563 | 石游戏V | 动态规划 | 解决方案 |
| 1568 | 断开岛屿的最小天数 | 贪心算法 | 解决方案 |
| 1569 | 重新排序数组以获得相同二叉搜索树的方案数 | 动态规划 | 解决方案 |
| 1575 | 计算所有可能的路线 | 动态规划 | 解决方案 |
| 1579 | 移除最大数量的边以保持图完全可遍历 | 并查集 | 解决方案 |
| 1585 | 检查字符串是否可以通过子字符串排序操作进行转换 | 贪婪字符串 | 解决方案 |
| 1595 | 连接两组点的最小成本 | 动态规划图 | 解决方案 |
| 1611 | 将整数转换为最小位操作 | 动态规划 位运算 | 解决方案 |
| 1617 | 计算具有城市间最大距离的子树的数量 | 回溯 | 解决方案 |
| 1627 | 具有阈值的图连通性 | 数学 并查集 | 解决方案 |
| 1643 | K个最小指令 | 动态规划 | 解决方案 |
| 164 | 最大差距 | 排序 | 解决方案 |
| 1659 | 最大化网格幸福感 | 动态规划 回溯 | 解决方案 |
| 174 | 地牢游戏 | 二分搜索 动态规划 | 解决方案 |
| 188 | 买卖股票的最佳时机IV | 动态规划 | 解决方案 |
| 212 | 单词搜索II | 回溯 trie | 解决方案 |
| 214 | 最短回文 | 字符串 | 解决方案 |
| 218 | 天际线问题 | 分而治之堆二分索引树段树线扫描 | 解决方案 |
| 224 | 基本计算器 | 数学堆栈 | 解决方案 |
| 233 | 数字1的个数 | 数学 | 解决方案 |
| 239 | 滑动窗口最大值 | 堆滑动窗口 | 解决方案 |
| 23 | 合并K个有序列表 | 链表分而治之堆 | 解决方案 |
| 248 | 斯图罗哥米亚数III | 数学 递归 | 解决方案 |
| 25 | 反转k组节点 | 链表 | 解决方案 |
| 265 | 油漆房屋II | 动态规划 | 解决方案 |
| 269 | 外星语字典 | 图 顶点排序 | 解决方案 |
| 272 | 最接近的二叉搜索树值II | 栈 树 | 解决方案 |
| 273 | 整数到英文单词 | 数学 字符串 | 解决方案 |
| 282 | 加法运算符表达式 | 分而治之 | 解决方案 |
| 291 | 单词模式II | 回溯 | 解决方案 |
| 295 | 从数据流中找到中位数 | 堆设计 | 解决方案 |
| 296 | 最佳会议点 | 数学排序 | 解决方案 |
| 297 | 序列化和反序列化二叉树 | 树设计 | 解决方案 |
| 301 | 移除无效括号 | 深度优先搜索 广度优先搜索 | 解决方案 |
| 302 | 包含黑色像素的最小矩形 | 二分查找 | 解决方案 |
| 305 | 岛屿II的数量 | 并查集 | 解决方案 |
| 30 | 所有单词的子字符串连接 | 哈希表双指针字符串 | 解决方案 |
| 312 | 爆破气球 | 分治 动态规划 | 解决方案 |
| 315 | 小于当前数字的数的个数 | 二分搜索 分治 排序 二分索引树 段树 | 解决方案 |
| 317 | 所有建筑物的最短距离 | 广度优先搜索 | 解决方案 |
| 321 | 创建最大数 | 动态规划 贪心 | 解决方案 |
| 329 | 矩阵中的最长递增路径 | 深度优先搜索拓扑排序记忆化 | 解决方案 |
| 32 | 最长有效括号 | 字符串动态规划 | 解决方案 |
| 330 | 修补数组 | 贪心算法 | 解决方案 |
| 336 | 回文对 | 哈希表字符串trie | 解决方案 |
| 340 | 最多K个不同字符的最长子字符串 | 哈希表字符串滑动窗口 | 解决方案 |
| 352 | 数据流作为不连接的区间 | 二分搜索有序映射 | 解决方案 |
| 354 | 俄罗斯套娃信封 | 二分搜索 动态规划 | 解决方案 |
| 358 | 重新排列字符串以保持k距离 | 哈希表堆贪婪 | 解决方案 |
| 363 | 最大矩形和不超过K | 二分搜索动态规划队列 | 解决方案 |
| 37 | 数独求解器 | 哈希表回溯 | 解决方案 |
| 381 | 插入 删除 获取随机 O(1) - 允许重复 | 数组 散列表 设计 | 解决方案 |
| 391 | 完美矩形 | 线扫描 | 解决方案 |
| 403 | 青蛙跳 | 动态规划 | 解决方案 |
| 407 | 雨水陷阱 II | 堆 广度优先搜索 | 解决方案 |
| 410 | 分割数组最大和 | 二分搜索 动态规划 | 解决方案 |
| 411 | 最小唯一词缩写 | 回溯位操作 | 解决方案 |
| 41 | 第一个缺失的正数 | 数组 | 解决方案 |
| 420 | 强密码检查器 | 解决方案 | |
| 425 | 单词平方 | 回溯 trie | 解决方案 |
| 42 | 雨水陷阱 | 数组 双指针 栈 | 解决方案 |
| 432 | 所有 O`one 数据结构 | 设计 | 解决方案 |
| 446 | 算术切片 II - 子序列 | 动态规划 | 解决方案 |
| 44 | 通配符匹配 | 字符串 动态规划 回溯 贪心 | 解决方案 |
| 458 | 穷困猪 | 数学 | 解决方案 |
| 45 | 跳跃游戏 II | 数组贪婪 | 解决方案 |
| 460 | LFU 缓存 | 设计 | 解决方案 |
| 465 | 最佳账户平衡 | 解决方案 | |
| 471 | 用最短长度编码字符串 | 动态规划 | 解决方案 |
| 472 | 连接单词 | 动态规划 深度优先搜索 字典树 | 解决方案 |
| 479 | 最大的回文乘积 | 解决方案 | |
| 480 | 滑动窗口中位数 | 滑动窗口 | 解决方案 |
| 488 | 祖玛游戏 | 深度优先搜索 | 解决方案 |
| 493 | 反转对 | 二分搜索 分治 排序 二分索引树 段树 | 解决方案 |
| 499 | 迷宫 III | 深度优先搜索 广度优先搜索 | 解决方案 |
| 4 | 两个有序数组的中间值 | 数组 二分搜索 分而治之 | 解决方案 |
| 502 | 首次公开募股 | 堆 贪心算法 | 解决方案 |
| 514 | 自由之路 | 分而治之 动态规划 深度优先搜索 | 解决方案 |
| 517 | 超级洗衣机 | 数学 动态规划 | 解决方案 |
| 51 | N 皇后 | 回溯 | 解决方案 |
| 527 | 单词缩写 | 字符串排序 | 解决方案 |
| 52 | N 皇后 II | 回溯 | 解决方案 |
| 546 | 移除盒子 | 动态规划深度优先搜索 | 解决方案 |
| 552 | 学生出勤记录 II | 动态规划 | 解决方案 |
| 564 | 找到最近的回文数 | 字符串 | 解决方案 |
| 568 | 最大假期天数 | 动态规划 | 解决方案 |
| 588 | 设计内存文件系统 | 设计 | 解决方案 |
| 60 | 排列序列 | 数学 回溯 | 解决方案 |
| 630 | 课程表 III | 贪心算法 | 解决方案 |
| 631 | 设计 Excel 求和公式 | 设计 | 解决方案 |
| 632 | 覆盖 K 个列表元素的最小范围 | 哈希表双指针字符串 | 解决方案 |
| 642 | 设计搜索自动补全系统 | 设计前缀树 | 解决方案 |
| 65 | 有效数字 | 数学 字符串 | 解决方案 |
| 660 | 移除 9 | 数学 | 解决方案 |
| 668 | 乘法表中第 K 小的数 | 二分查找 | 解决方案 |
| 675 | 为高尔夫赛事砍伐树木 | 广度优先搜索 | 解决方案 |
| 679 | 24 点游戏 | 深度优先搜索 | 解决方案 |
| 683 | K 个空槽 | 有序映射 | 解决方案 |
| 689 | 三个非重叠子数组的最大和 | 数组 动态规划 | 解决方案 |
| 68 | 文本对齐 | 字符串 | 解决方案 |
| 719 | 找到第 K 小的成对距离 | 数组 二分搜索 堆 | 解决方案 |
| 726 | 原子数 | 哈希表 栈 递归 | 解决方案 |
| 727 | 最小窗口子序列 | 动态规划 滑动窗口 | 解决方案 |
| 72 | 编辑距离 | 字符串动态规划 | 解决方案 |
| 732 | 我的日历 III | 线段树 有序映射 | 解决方案 |
| 753 | 破解保险箱 | 数学 深度优先搜索 | 解决方案 |
| 761 | 特殊二进制字符串 | 字符串递归 | 解决方案 |
| 765 | 拉手情侣 | 贪心 并查集 图 | 解决方案 |
| 768 | 使排序的块最大化的最小操作数 | 数组 | 解决方案 |
| 76 | 最小窗口子字符串 | 哈希表 双指针 字符串 滑动窗口 | 解决方案 |
| 770 | 基本计算器 IV | 哈希表 字符串 栈 | 解决方案 |
| 772 | 基本计算器 III | 字符串栈 | 解决方案 |
| 773 | 滑动拼图 | 广度优先搜索 | 解决方案 |
| 774 | 最小化加油站的最大距离 | 二分查找 | 解决方案 |
| 778 | 在上升的水中游泳 | 二分搜索 堆 深度优先搜索 并查集 | 解决方案 |
| 780 | 达到点 | 数学 | 解决方案 |
| 786 | K 最小的素数分数 | 二分查找 堆 | 解决方案 |
| 815 | 公交车路线 | 广度优先搜索 | 解决方案 |
| 818 | 赛车 | 动态规划 堆 | 解决方案 |
| 827 | 创建大岛屿 | 深度优先搜索 | 解决方案 |
| 828 | 计算给定字符串所有子字符串的唯一字符数 | 双指针 | 解决方案 |
| 829 | 连续数之和 | 数学 | 解决方案 |
| 847 | 访问所有节点的最短路径 | 动态规划 广度优先搜索 | 解决方案 |
| 84 | 直方图中的最大矩形 | 数组栈 | 解决方案 |
| 854 | K 相似字符串 | 广度优先搜索图 | 解决方案 |
| 85 | 最大矩形 | 数组 哈希表 动态规划 栈 | 解决方案 |
| 862 | 和至少为 K 的最短子数组 | 二分搜索 队列 | 解决方案 |
| 871 | 最小加注站数 | 动态规划 堆 | 解决方案 |
| 87 | 乱序字符串 | 字符串动态规划 | 解决方案 |
| 895 | 最大频率栈 | 哈希表栈 | 解决方案 |
| 899 | 有序队列 | 数学 字符串 | 解决方案 |
| 924 | 最小化恶意软件传播 | 深度优先搜索 并查集 | 解决方案 |
| 960 | 删除列以使排序 III | 动态规划 | 解决方案 |
| 97 | 交错字符串 | 字符串动态规划 | 解决方案 |
| 980 | 独特路径 III | 回溯 深度优先搜索 | 解决方案 |
| 982 | 位与为零的三元组 | 动态规划 | 解决方案 |
| 992 | 有 K 个不同整数的子数组 | 哈希表 双指针 滑动窗口 | 解决方案 |
| 99 | 恢复二叉搜索树 | 树 深度优先搜索 | 解决方案 |
依赖关系
~0.8–1.2MB
~17K SLoC