LeetCode 刷题
目录
说明
LeetCode 刷题计划,
刷 LeetCode 的目的不是签到打钩,
而是掌握经典算法套路,培养代码直觉,提高编码素养。
推荐按照 刷 LeetCode 吃力正常吗? 中提到的兔系方法,循序渐进,大量训练。
本 Repo 目前包含的解答:
- TypeScript:写 TypeScript 解答,编译到 JavaScript,并支持 Jest 单元测试
概念速览
- 基本概念
- 时空复杂度,大 O 表示法
- 原地算法
- 数据结构
- 几大排序算法
- 由浅入深的大致顺序
- 数组,字符串
- 链表
- 递归
- 栈,队列
- 分治法
- 贪心法
- 动态规划
- 树、图
- BFS、DFS
参考资料
(大致整理)
- 书
- Repo
专题
数组和字符串 (21/21)
专题地址:https://leetcode-cn.com/explore/learn/card/array-and-string/
# | 数组和字符串 | 锁 | 难度 | ts |
---|---|---|---|---|
## | 数组简介 | |||
724 | 寻找数组的中心索引 | ts | ||
747 | 至少是其他数字两倍的最大数 | ts, ts2 | ||
66 | 加一 | ts, ts2 | ||
## | 二维数组简介 | |||
498 | 对角线遍历 | ts | ||
54 | 螺旋矩阵 | ts | ||
118 | 杨辉三角 | ts | ||
## | 字符串简介 | |||
67 | 二进制求和 | ts | ||
28 | 实现 strStr() | ts | ||
14 | 最长公共前缀 | ts | ||
## | 双指针技巧 | |||
344 | 反转字符串 | ts | ||
561 | 数组拆分 I | ts | ||
167 | 两数之和 II - 输入有序数组 | ts | ||
27 | 移除元素 | ts | ||
485 | 最大连续 1 的个数 | ts | ||
209 | 长度最小的子数组 | ts | ||
## | 小结 | |||
189 | 旋转数组 | ts, ts2, ts3 | ||
119 | 杨辉三角 II | ts | ||
151 | 翻转字符串里的单词 | ts | ||
557 | 反转字符串中的单词 III | ts | ||
26 | 删除排序数组中的重复项 | ts | ||
283 | 移动零 | ts |
队列 & 栈 (18/18, 0/2)
专题地址:https://leetcode-cn.com/explore/learn/card/queue-stack/
# | 队列 & 栈 | 锁 | 难度 | ts |
---|---|---|---|---|
## | 队列:先入先出的数据结构 | |||
622 | 设计循环队列 | ts, ts2 | ||
346 | 数据流中的移动平均值 | |||
## | 队列和广度优先搜索 | |||
286 | 墙与门 | |||
200 | 岛屿数量 | ts, ts2 | ||
752 | 打开转盘锁 | ts, ts2, ts3 | ||
279 | 完全平方数 | ts, ts2, ts3 | ||
## | 栈:后入先出的数据结构 | |||
155 | 最小栈 | ts, ts2 | ||
20 | 有效的括号 | ts | ||
739 | 每日温度 | ts, ts2 | ||
150 | 逆波兰表达式求值 | ts | ||
## | 栈和深度优先搜索 | |||
200 | 岛屿数量 | ts, ts2 | ||
133 | 克隆图 | ts | ||
494 | 目标和 | ts | ||
94 | 二叉树的中序遍历 | ts, ts2 | ||
## | 小结 | |||
232 | 用栈实现队列 | ts, ts2 | ||
225 | 用队列实现栈 | ts, ts2 | ||
394 | 字符串解码 | ts | ||
733 | 图像渲染 | ts | ||
542 | 01 矩阵 | ts | ||
841 | 钥匙和房间 | ts |
Recursion I (12/12)
专题地址:https://leetcode.com/explore/learn/card/recursion-i/
# | Recursion I | 锁 | 难度 | ts |
---|---|---|---|---|
## | Principle of Recursion | |||
344 | 反转字符串 | ts | ||
24 | 两两交换链表中的节点 | ts | ||
## | Recurrence Relation | |||
206 | 反转链表 | ts | ||
700 | 二叉搜索树中的搜索 | ts, ts2 | ||
119 | 杨辉三角 II | ts | ||
## | Memoization | |||
509 | 斐波那契数 | ts | ||
70 | 爬楼梯 | ts | ||
## | Complexity Analysis | |||
104 | 二叉树的最大深度 | ts | ||
50 | Pow(x, n) | ts | ||
## | Conclusion | |||
21 | 合并两个有序链表 | ts | ||
779 | 第 K 个语法符号 | ts, ts2 | ||
95 | 不同的二叉搜索树 II | ts |
Recursion II (4/14, 0/2)
专题地址:https://leetcode.com/explore/learn/card/recursion-ii/
# | Recursion II | 锁 | 难度 | ts |
---|---|---|---|---|
## | Divide and Conquer | |||
912 | 排序数组 | |||
98 | 验证二叉搜索树 | ts, ts2, ts3 | ||
240 | 搜索二维矩阵 II | |||
## | Backtracking | |||
52 | N 皇后 II | ts | ||
489 | 扫地机器人 | |||
37 | 解数独 | ts, ts2 | ||
77 | 组合 | |||
## | Recursion to Iteration | |||
100 | 相同的树 | |||
22 | 括号生成 | |||
94 | 二叉树的中序遍历 | ts, ts2 | ||
102 | 二叉树的层序遍历 | |||
## | Conclusion | |||
426 | 将二叉搜索树转化为排序的双向链表 | |||
84 | 柱状图中最大的矩形 | |||
46 | 全排列 | |||
17 | 电话号码的字母组合 | |||
218 | 天际线问题 |
链表 (15/15)
专题地址:https://leetcode-cn.com/explore/learn/card/linked-list/
# | 链表 | 锁 | 难度 | ts |
---|---|---|---|---|
## | 单链表 | |||
707 | 设计链表 | ts, ts2, ts3 | ||
## | 双指针技巧 | |||
141 | 环形链表 | ts | ||
142 | 环形链表 II | ts | ||
160 | 相交链表 | ts | ||
19 | 删除链表的倒数第 N 个节点 | ts, ts2 | ||
## | 经典问题 | |||
206 | 反转链表 | ts | ||
203 | 移除链表元素 | ts | ||
328 | 奇偶链表 | ts | ||
234 | 回文链表 | ts, ts2 | ||
## | 双链表 | |||
707 | 设计链表 | ts, ts2, ts3 | ||
## | 小结 | |||
21 | 合并两个有序链表 | ts | ||
2 | 两数相加 | ts | ||
430 | 扁平化多级双向链表 | ts | ||
138 | 复制带随机指针的链表 | ts | ||
61 | 旋转链表 | ts |
哈希表 (7/20, 0/4)
专题地址:https://leetcode-cn.com/explore/learn/card/hash-table/
# | 哈希表 | 锁 | 难度 | ts |
---|---|---|---|---|
## | 设计哈希表 | |||
705 | 设计哈希集合 | |||
706 | 设计哈希映射 | |||
## | 实际应用 - 哈希集合 | |||
217 | 存在重复元素 | ts | ||
136 | 只出现一次的数字 | ts | ||
349 | 两个数组的交集 | ts, ts2 | ||
202 | 快乐数 | |||
## | 实际应用 - 哈希映射 | |||
1 | 两数之和 | ts | ||
205 | 同构字符串 | |||
599 | 两个列表的最小索引总和 | |||
387 | 字符串中的第一个唯一字符 | ts, ts2, ts3 | ||
350 | 两个数组的交集 II | ts | ||
219 | 存在重复元素 II | |||
359 | 日志速率限制器 | |||
## | 实际应用 - 设计键 | |||
49 | 字母异位词分组 | |||
249 | 移位字符串分组 | |||
36 | 有效的数独 | ts | ||
652 | 寻找重复的子树 | |||
## | 小结 | |||
771 | 宝石与石头 | |||
3 | 无重复字符的最长子串 | |||
170 | 两数之和 III - 数据结构设计 | |||
454 | 四数相加 II | |||
347 | 前 K 个高频元素 | |||
288 | 单词的唯一缩写 | |||
380 | 常数时间插入、删除和获取随机元素 |
二分查找 (19/22, 0/2)
专题地址:https://leetcode-cn.com/explore/learn/card/binary-search/
# | 二分查找 | 锁 | 难度 | ts |
---|---|---|---|---|
## | 背景 | |||
704 | 二分查找 | ts | ||
## | 模板 I | |||
69 | x 的平方根 | ts, ts2 | ||
374 | 猜数字大小 | ts | ||
33 | 搜索旋转排序数组 | ts | ||
## | 模板 II | |||
278 | 第一个错误的版本 | ts | ||
162 | 寻找峰值 | ts | ||
153 | 寻找旋转排序数组中的最小值 | ts | ||
## | 模板 III | |||
34 | 在排序数组中查找元素的第一个和最后一个位置 | ts, ts2 | ||
658 | 找到 K 个最接近的元素 | ts | ||
162 | 寻找峰值 | ts | ||
## | 模板分析 | |||
270 | 最接近的二叉搜索树值 | |||
702 | 搜索长度未知的有序数组 | |||
## | 小结 | |||
50 | Pow(x, n) | ts | ||
367 | 有效的完全平方数 | ts | ||
744 | 寻找比目标字母大的最小字母 | ts | ||
## | 更多练习 | |||
153 | 寻找旋转排序数组中的最小值 | ts | ||
154 | 寻找旋转排序数组中的最小值 II | ts | ||
349 | 两个数组的交集 | ts, ts2 | ||
350 | 两个数组的交集 II | ts | ||
167 | 两数之和 II - 输入有序数组 | ts | ||
## | 更多练习 II | |||
287 | 寻找重复数 | ts | ||
4 | 寻找两个有序数组的中位数 | |||
719 | 找出第 k 小的距离对 | |||
410 | 分割数组的最大值 |
二叉树 (4/13)
专题地址:https://leetcode-cn.com/explore/learn/card/data-structure-binary-tree/
# | 二叉树 | 锁 | 难度 | ts |
---|---|---|---|---|
## | 树的遍历 | |||
144 | 二叉树的前序遍历 | |||
94 | 二叉树的中序遍历 | ts, ts2 | ||
145 | 二叉树的后序遍历 | |||
102 | 二叉树的层序遍历 | |||
## | 运用递归解决问题 | |||
104 | 二叉树的最大深度 | ts | ||
101 | 对称二叉树 | ts | ||
112 | 路径总和 | ts | ||
## | 总结 | |||
106 | 从中序与后序遍历序列构造二叉树 | |||
105 | 从前序与中序遍历序列构造二叉树 | |||
116 | 填充每个节点的下一个右侧节点指针 | |||
117 | 填充每个节点的下一个右侧节点指针 II | |||
236 | 二叉树的最近公共祖先 | |||
297 | 二叉树的序列化与反序列化 |
二叉搜索树 (2/10)
专题地址:https://leetcode-cn.com/explore/learn/card/introduction-to-data-structure-binary-search-tree/
# | 二叉搜索树 | 锁 | 难度 | ts |
---|---|---|---|---|
## | 二叉搜索树简介 | |||
98 | 验证二叉搜索树 | ts, ts2, ts3 | ||
173 | 二叉搜索树迭代器 | |||
## | 二叉搜索树中的基本操作 | |||
700 | 二叉搜索树中的搜索 | ts, ts2 | ||
701 | 二叉搜索树中的插入操作 | |||
450 | 删除二叉搜索树中的节点 | |||
## | 小结 | |||
703 | 数据流中的第 K 大元素 | |||
235 | 二叉搜索树的最近公共祖先 | |||
220 | 存在重复元素 III | |||
## | 附录:高度平衡的二叉搜索树 | |||
110 | 平衡二叉树 | |||
108 | 将有序数组转换为二叉搜索树 |
N 叉树 (0/4, 0/1)
专题地址:https://leetcode-cn.com/explore/learn/card/n-ary-tree/
# | N 叉树 | 锁 | 难度 | ts |
---|---|---|---|---|
## | 遍历 | |||
589 | N 叉树的前序遍历 | |||
590 | N 叉树的后序遍历 | |||
429 | N 叉树的层序遍历 | |||
## | 递归 | |||
559 | N 叉树的最大深度 | |||
## | 小结 | |||
428 | 序列化和反序列化 N 叉树 |
前缀树 (0/7, 0/2)
专题地址:https://leetcode-cn.com/explore/learn/card/trie/
# | 前缀树 | 锁 | 难度 | ts |
---|---|---|---|---|
## | 前缀树简介 | |||
## | 基本操作 | |||
208 | 实现 Trie (前缀树) | |||
## | 实际应用 I | |||
677 | 键值映射 | |||
648 | 单词替换 | |||
642 | 设计搜索自动补全系统 | |||
211 | 添加与搜索单词 - 数据结构设计 | |||
## | 实际应用 II | |||
421 | 数组中两个数的最大异或值 | |||
212 | 单词搜索 II | |||
425 | 单词方块 | |||
336 | 回文对 |
初级算法 (35/49)
专题地址:https://leetcode-cn.com/explore/interview/card/top-interview-questions-easy/
# | 初级算法 | 锁 | 难度 | ts |
---|---|---|---|---|
## | 数组 | |||
26 | 删除排序数组中的重复项 | ts | ||
122 | 买卖股票的最佳时机 II | ts | ||
189 | 旋转数组 | ts, ts2, ts3 | ||
217 | 存在重复元素 | ts | ||
136 | 只出现一次的数字 | ts | ||
350 | 两个数组的交集 II | ts | ||
66 | 加一 | ts, ts2 | ||
283 | 移动零 | ts | ||
1 | 两数之和 | ts | ||
36 | 有效的数独 | ts | ||
48 | 旋转图像 | ts | ||
## | 字符串 | |||
344 | 反转字符串 | ts | ||
7 | 整数反转 | ts | ||
387 | 字符串中的第一个唯一字符 | ts, ts2, ts3 | ||
242 | 有效的字母异位词 | ts, ts2 | ||
125 | 验证回文串 | ts, ts2 | ||
8 | 字符串转换整数 (atoi) | ts, ts2 | ||
28 | 实现 strStr() | ts | ||
38 | 外观数列 | ts | ||
14 | 最长公共前缀 | ts | ||
## | 链表 | |||
237 | 删除链表中的节点 | ts | ||
19 | 删除链表的倒数第 N 个节点 | ts, ts2 | ||
206 | 反转链表 | ts | ||
21 | 合并两个有序链表 | ts | ||
234 | 回文链表 | ts, ts2 | ||
141 | 环形链表 | ts | ||
## | 树 | |||
104 | 二叉树的最大深度 | ts | ||
98 | 验证二叉搜索树 | ts, ts2, ts3 | ||
101 | 对称二叉树 | ts | ||
102 | 二叉树的层序遍历 | |||
108 | 将有序数组转换为二叉搜索树 | |||
## | 排序和搜索 | |||
88 | 合并两个有序数组 | |||
278 | 第一个错误的版本 | ts | ||
## | 动态规划 | |||
70 | 爬楼梯 | ts | ||
121 | 买卖股票的最佳时机 | ts | ||
53 | 最大子序和 | |||
198 | 打家劫舍 | |||
## | 设计问题 | |||
384 | 打乱数组 | |||
155 | 最小栈 | ts, ts2 | ||
## | 数学 | |||
412 | Fizz Buzz | |||
204 | 计数质数 | |||
326 | 3 的幂 | |||
13 | 罗马数字转整数 | |||
## | 其他 | |||
191 | 位 1 的个数 | |||
461 | 汉明距离 | |||
190 | 颠倒二进制位 | |||
118 | 杨辉三角 | ts | ||
20 | 有效的括号 | ts | ||
268 | 缺失数字 |
中级算法 (11/45)
专题地址:https://leetcode-cn.com/explore/interview/card/top-interview-questions-medium/
# | 中级算法 | 锁 | 难度 | ts |
---|---|---|---|---|
## | 数组和字符串 | |||
15 | 三数之和 | |||
73 | 矩阵置零 | |||
49 | 字母异位词分组 | |||
3 | 无重复字符的最长子串 | |||
5 | 最长回文子串 | |||
334 | 递增的三元子序列 | |||
## | 链表 | |||
2 | 两数相加 | ts | ||
328 | 奇偶链表 | ts | ||
160 | 相交链表 | ts | ||
## | 树和图 | |||
94 | 二叉树的中序遍历 | ts, ts2 | ||
103 | 二叉树的锯齿形层次遍历 | |||
105 | 从前序与中序遍历序列构造二叉树 | |||
116 | 填充每个节点的下一个右侧节点指针 | |||
230 | 二叉搜索树中第 K 小的元素 | |||
200 | 岛屿数量 | ts, ts2 | ||
## | 回溯算法 | |||
17 | 电话号码的字母组合 | |||
22 | 括号生成 | |||
46 | 全排列 | |||
78 | 子集 | |||
79 | 单词搜索 | |||
## | 排序和搜索 | |||
75 | 颜色分类 | |||
347 | 前 K 个高频元素 | |||
215 | 数组中的第 K 个最大元素 | |||
162 | 寻找峰值 | ts | ||
34 | 在排序数组中查找元素的第一个和最后一个位置 | ts, ts2 | ||
56 | 合并区间 | |||
33 | 搜索旋转排序数组 | ts | ||
240 | 搜索二维矩阵 II | |||
## | 动态规划 | |||
55 | 跳跃游戏 | |||
62 | 不同路径 | |||
322 | 零钱兑换 | |||
300 | 最长上升子序列 | |||
## | 设计问题 | |||
297 | 二叉树的序列化与反序列化 | |||
380 | 常数时间插入、删除和获取随机元素 | |||
## | 数学 | |||
202 | 快乐数 | |||
172 | 阶乘后的零 | |||
171 | Excel 表列序号 | |||
50 | Pow(x, n) | ts | ||
69 | x 的平方根 | ts, ts2 | ||
29 | 两数相除 | |||
166 | 分数到小数 | |||
## | 其他 | |||
371 | 两整数之和 | |||
150 | 逆波兰表达式求值 | ts | ||
169 | 多数元素 | |||
621 | 任务调度器 |
高级算法 (4/47)
专题地址:https://leetcode-cn.com/explore/interview/card/top-interview-questions-hard/
# | 高级算法 | 锁 | 难度 | ts |
---|---|---|---|---|
## | 数组和字符串 | |||
238 | 除自身以外数组的乘积 | |||
54 | 螺旋矩阵 | ts | ||
454 | 四数相加 II | |||
11 | 盛最多水的容器 | |||
289 | 生命游戏 | |||
41 | 缺失的第一个正数 | |||
128 | 最长连续序列 | |||
287 | 寻找重复数 | ts | ||
227 | 基本计算器 II | |||
239 | 滑动窗口最大值 | |||
76 | 最小覆盖子串 | |||
## | 链表 | |||
23 | 合并 K 个排序链表 | |||
148 | 排序链表 | |||
138 | 复制带随机指针的链表 | ts | ||
## | 树和图 | |||
127 | 单词接龙 | |||
130 | 被围绕的区域 | |||
236 | 二叉树的最近公共祖先 | |||
124 | 二叉树中的最大路径和 | |||
547 | 朋友圈 | |||
207 | 课程表 | |||
210 | 课程表 II | |||
329 | 矩阵中的最长递增路径 | |||
315 | 计算右侧小于当前元素的个数 | |||
## | 回溯算法 | |||
131 | 分割回文串 | |||
212 | 单词搜索 II | |||
301 | 删除无效的括号 | |||
44 | 通配符匹配 | |||
10 | 正则表达式匹配 | |||
## | 排序和搜索 | |||
324 | 摆动排序 II | |||
378 | 有序矩阵中第 K 小的元素 | |||
4 | 寻找两个有序数组的中位数 | |||
## | 动态规划 | |||
152 | 乘积最大子数组 | |||
309 | 最佳买卖股票时机含冷冻期 | |||
279 | 完全平方数 | ts, ts2, ts3 | ||
139 | 单词拆分 | |||
140 | 单词拆分 II | |||
312 | 戳气球 | |||
## | 设计问题 | |||
146 | LRU 缓存机制 | |||
208 | 实现 Trie (前缀树) | |||
341 | 扁平化嵌套列表迭代器 | |||
295 | 数据流的中位数 | |||
## | 数学 | |||
179 | 最大数 | |||
149 | 直线上最多的点数 | |||
## | 其他 | |||
406 | 根据身高重建队列 | |||
42 | 接雨水 | |||
218 | 天际线问题 | |||
84 | 柱状图中最大的矩形 |
算法面试题汇总 (23/75)
专题地址:https://leetcode-cn.com/explore/interview/card/top-interview-quesitons/
# | 算法面试题汇总 | 锁 | 难度 | ts |
---|---|---|---|---|
## | 开始之前 | |||
136 | 只出现一次的数字 | ts | ||
169 | 多数元素 | |||
240 | 搜索二维矩阵 II | |||
88 | 合并两个有序数组 | |||
887 | 鸡蛋掉落 | |||
## | 主题要点 | |||
## | 字符串 | |||
125 | 验证回文串 | ts, ts2 | ||
131 | 分割回文串 | |||
139 | 单词拆分 | |||
140 | 单词拆分 II | |||
208 | 实现 Trie (前缀树) | |||
212 | 单词搜索 II | |||
242 | 有效的字母异位词 | ts, ts2 | ||
387 | 字符串中的第一个唯一字符 | ts, ts2, ts3 | ||
344 | 反转字符串 | ts | ||
## | 数组 | |||
152 | 乘积最大子数组 | |||
169 | 多数元素 | |||
189 | 旋转数组 | ts, ts2, ts3 | ||
217 | 存在重复元素 | ts | ||
283 | 移动零 | ts | ||
384 | 打乱数组 | |||
350 | 两个数组的交集 II | ts | ||
334 | 递增的三元子序列 | |||
240 | 搜索二维矩阵 II | |||
238 | 除自身以外数组的乘积 | |||
## | 堆、栈与队列 | |||
155 | 最小栈 | ts, ts2 | ||
215 | 数组中的第 K 个最大元素 | |||
295 | 数据流的中位数 | |||
378 | 有序矩阵中第 K 小的元素 | |||
347 | 前 K 个高频元素 | |||
239 | 滑动窗口最大值 | |||
227 | 基本计算器 II | |||
341 | 扁平化嵌套列表迭代器 | |||
150 | 逆波兰表达式求值 | ts | ||
## | 链表 | |||
138 | 复制带随机指针的链表 | ts | ||
141 | 环形链表 | ts | ||
148 | 排序链表 | |||
160 | 相交链表 | ts | ||
206 | 反转链表 | ts | ||
234 | 回文链表 | ts, ts2 | ||
237 | 删除链表中的节点 | ts | ||
328 | 奇偶链表 | ts | ||
## | 哈希与映射 | |||
171 | Excel 表列序号 | |||
454 | 四数相加 II | |||
380 | 常数时间插入、删除和获取随机元素 | |||
## | 树 | |||
230 | 二叉搜索树中第 K 小的元素 | |||
236 | 二叉树的最近公共祖先 | |||
297 | 二叉树的序列化与反序列化 | |||
218 | 天际线问题 | |||
## | 排序与检索 | |||
179 | 最大数 | |||
324 | 摆动排序 II | |||
162 | 寻找峰值 | ts | ||
287 | 寻找重复数 | ts | ||
315 | 计算右侧小于当前元素的个数 | |||
## | 动态规划 | |||
395 | 至少有 K 个重复字符的最长子串 | |||
124 | 二叉树中的最大路径和 | |||
128 | 最长连续序列 | |||
198 | 打家劫舍 | |||
279 | 完全平方数 | ts, ts2, ts3 | ||
300 | 最长上升子序列 | |||
322 | 零钱兑换 | |||
329 | 矩阵中的最长递增路径 | |||
## | 图论 | |||
127 | 单词接龙 | |||
200 | 岛屿数量 | ts, ts2 | ||
207 | 课程表 | |||
210 | 课程表 II | |||
## | 数学 & 位运算 | |||
136 | 只出现一次的数字 | ts | ||
149 | 直线上最多的点数 | |||
166 | 分数到小数 | |||
172 | 阶乘后的零 | |||
190 | 颠倒二进制位 | |||
191 | 位 1 的个数 | |||
204 | 计数质数 | |||
268 | 缺失数字 | |||
326 | 3 的幂 | |||
## | 模拟面试 | |||
202 | 快乐数 |
腾讯 (26/53)
专题地址:https://leetcode-cn.com/explore/interview/card/tencent/
# | 腾讯 | 锁 | 难度 | ts |
---|---|---|---|---|
## | 数组与字符串 | |||
1 | 两数之和 | ts | ||
4 | 寻找两个有序数组的中位数 | |||
5 | 最长回文子串 | |||
8 | 字符串转换整数 (atoi) | ts, ts2 | ||
14 | 最长公共前缀 | ts | ||
15 | 三数之和 | |||
16 | 最接近的三数之和 | |||
20 | 有效的括号 | ts | ||
26 | 删除排序数组中的重复项 | ts | ||
11 | 盛最多水的容器 | |||
43 | 字符串相乘 | |||
344 | 反转字符串 | ts | ||
557 | 反转字符串中的单词 III | ts | ||
238 | 除自身以外数组的乘积 | |||
217 | 存在重复元素 | ts | ||
54 | 螺旋矩阵 | ts | ||
59 | 螺旋矩阵 II | ts | ||
88 | 合并两个有序数组 | |||
## | 链表突击 | |||
206 | 反转链表 | ts | ||
2 | 两数相加 | ts | ||
21 | 合并两个有序链表 | ts | ||
23 | 合并 K 个排序链表 | |||
61 | 旋转链表 | ts | ||
141 | 环形链表 | ts | ||
142 | 环形链表 II | ts | ||
160 | 相交链表 | ts | ||
237 | 删除链表中的节点 | ts | ||
## | 数学与数字 | |||
7 | 整数反转 | ts | ||
9 | 回文数 | |||
136 | 只出现一次的数字 | ts | ||
169 | 多数元素 | |||
231 | 2 的幂 | |||
## | 排序与搜索 | |||
148 | 排序链表 | |||
33 | 搜索旋转排序数组 | ts | ||
215 | 数组中的第 K 个最大元素 | |||
230 | 二叉搜索树中第 K 小的元素 | |||
104 | 二叉树的最大深度 | ts | ||
124 | 二叉树中的最大路径和 | |||
235 | 二叉搜索树的最近公共祖先 | |||
236 | 二叉树的最近公共祖先 | |||
## | 回溯算法 | |||
22 | 括号生成 | |||
78 | 子集 | |||
46 | 全排列 | |||
89 | 格雷编码 | |||
## | 动态规划 | |||
70 | 爬楼梯 | ts | ||
53 | 最大子序和 | |||
121 | 买卖股票的最佳时机 | ts | ||
122 | 买卖股票的最佳时机 II | ts | ||
62 | 不同路径 | |||
78 | 子集 | |||
## | 设计 | |||
146 | LRU 缓存机制 | |||
155 | 最小栈 | ts, ts2 | ||
## | 附加 | |||
292 | Nim 游戏 |
字节跳动 (12/38)
专题地址:https://leetcode-cn.com/explore/interview/card/bytedance/
# | 字节跳动 | 锁 | 难度 | ts |
---|---|---|---|---|
## | 挑战字符串 | |||
3 | 无重复字符的最长子串 | |||
14 | 最长公共前缀 | ts | ||
567 | 字符串的排列 | |||
43 | 字符串相乘 | |||
151 | 翻转字符串里的单词 | ts | ||
71 | 简化路径 | |||
93 | 复原 IP 地址 | |||
## | 数组与排序 | |||
15 | 三数之和 | |||
695 | 岛屿的最大面积 | |||
33 | 搜索旋转排序数组 | ts | ||
674 | 最长连续递增序列 | |||
215 | 数组中的第 K 个最大元素 | |||
128 | 最长连续序列 | |||
60 | 第 k 个排列 | |||
547 | 朋友圈 | |||
56 | 合并区间 | |||
42 | 接雨水 | |||
## | 链表与树 | |||
21 | 合并两个有序链表 | ts | ||
206 | 反转链表 | ts | ||
2 | 两数相加 | ts | ||
148 | 排序链表 | |||
142 | 环形链表 II | ts | ||
160 | 相交链表 | ts | ||
23 | 合并 K 个排序链表 | |||
236 | 二叉树的最近公共祖先 | |||
103 | 二叉树的锯齿形层次遍历 | |||
## | 动态或贪心 | |||
121 | 买卖股票的最佳时机 | ts | ||
122 | 买卖股票的最佳时机 II | ts | ||
221 | 最大正方形 | |||
53 | 最大子序和 | |||
120 | 三角形最小路径和 | |||
354 | 俄罗斯套娃信封问题 | |||
## | 数据结构 | |||
155 | 最小栈 | ts, ts2 | ||
146 | LRU 缓存机制 | |||
432 | 全 O(1) 的数据结构 | |||
## | 拓展练习 | |||
69 | x 的平方根 | ts, ts2 | ||
393 | UTF-8 编码验证 | |||
176 | 第二高的薪水 |
Teambition (0/20)
专题地址:https://leetcode-cn.com/explore/interview/card/teambition/
# | Teambition | 锁 | 难度 | ts |
---|---|---|---|---|
## | 挑战数据结构 | |||
23 | 合并 K 个排序链表 | |||
68 | 文本左右对齐 | |||
97 | 交错字符串 | |||
145 | 二叉树的后序遍历 | |||
165 | 比较版本号 | |||
297 | 二叉树的序列化与反序列化 | |||
432 | 全 O(1) 的数据结构 | |||
662 | 二叉树最大宽度 | |||
899 | 有序队列 | |||
907 | 子数组的最小值之和 | |||
## | 挑战算法 | |||
218 | 天际线问题 | |||
410 | 分割数组的最大值 | |||
514 | 自由之路 | |||
546 | 移除盒子 | |||
629 | K 个逆序对数组 | |||
679 | 24 点游戏 | |||
777 | 在 LR 字符串中交换相邻字符 | |||
899 | 有序队列 | |||
940 | 不同的子序列 II | |||
960 | 删列造序 III |