Skip to content

hackfengJam/LeetCode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

LeetCode

砥砺前行 未来可期


LeetCode 刷题系列

SQL

序号 题目 难度 代码
182 查找重复的电子邮箱 Easy 182. 查找重复的电子邮箱 - Easy
527 交换工资 Easy 627. 交换工资 - Easy

Shell

序号 题目 难度 代码
195 第十行 Easy 195. 第十行 - Easy
192 统计词频 Medium 192. 统计词频 - Medium

杂项

序号 题目 难度 代码
16 最接近的三数之和 Medium 16. 最接近的三数之和 - Medium
50 Pow(x, n) Medium 50. Pow(x, n) - Medium
56 合并区间 Medium 56. 合并区间 - Medium
136 只出现一次的数字 Easy 136. 只出现一次的数字 - Easy
137 只出现一次的数字 II Medium 137. 只出现一次的数字 II - Medium
169 求众数 - Easy O(nlogn) 169. 求众数 - Easy - O(nlogn)
169 求众数 - Easy O(n) 摩尔根投票法 169. 求众数 - Easy - O(n) 摩尔根投票法
172 阶乘后的零 Easy 172. 阶乘后的零 - Easy
215 数组中的第K个最大元素 Medium 215. 数组中的第K个最大元素 - Medium
229 求众数 II Medium 229. 求众数 II - Medium
240 搜索二维矩阵 II - Medium](src/leetcode/algo/misc/leet_zh_1108/Solution.java) [题目链接 240. 搜索二维矩阵 II - Medium - 题目链接
470 用 Rand7() 实现 Rand10() Medium 470. 用 Rand7() 实现 Rand10() - Medium
729 我的日程安排表 I Medium 729. 我的日程安排表 I - Medium
731 我的日程安排表 II Medium 731. 我的日程安排表 II - Medium
732 我的日程安排表 III Hard 732. 我的日程安排表 III - Hard

字符串

序号 题目 难度 代码
3 无重复字符的最长子串 Medium 3. 无重复字符的最长子串 - Medium
76 最小覆盖子串 Hard 76. 最小覆盖子串 - Hard
438 找到字符串中所有字母异位词 Medium 438. 找到字符串中所有字母异位词 - Medium
14 最长公共前缀 Easy 最长公共前缀 - Easy
- 无重复字符的最长子串 Medium 无重复字符的最长子串 - Medium

回溯

序号 题目 难度 代码
10 正则表达式匹配 Hard 10. 正则表达式匹配 - Hard
77 组合 Medium 77. 组合 - Medium

贪心算法

序号 题目 难度 代码
455 分发饼干 Easy 455. 分发饼干 - Easy

动态规划

序号 题目 难度 代码
10 正则表达式匹配_pending Hard 10. 正则表达式匹配_pending - Hard
64 最小路径和 Medium 64. 最小路径和 - Medium
70 爬楼梯 Easy 70. 爬楼梯 - Easy
53 最大子序和 Easy 53. 最大子序和 - Easy
121 买卖股票的最佳时机 Easy 121. 买卖股票的最佳时机 - Easy
122 买卖股票的最佳时机 II Easy 122. 买卖股票的最佳时机 II - Easy
123 买卖股票的最佳时机 III Hard 123. 买卖股票的最佳时机 III - Hard
124 二叉树中的最大路径和 Hard 124. 二叉树中的最大路径和 - Hard
188 买卖股票的最佳时机 IV Hard 188. 买卖股票的最佳时机 IV - Hard
309 最佳买卖股票时机含冷冻期 Medium 309. 最佳买卖股票时机含冷冻期 - Medium
198 打家劫舍 Easy 198. 打家劫舍 - Easy
279 完全平方数 Medium 279. 完全平方数 - Medium
300 最长上升子序列 Medium_O(n^2) 300. 最长上升子序列 - Medium_O(n^2)
300 最长上升子序列 Medium_O(nlogN)_pending 300. 最长上升子序列 - Medium_O(nlogN)_pending
322 零钱兑换 Medium 322. 零钱兑换 - Medium
343 整数拆分 Medium 343. 整数拆分 - Medium
395 至少有K个重复字符的最长子串 Medium 395. 至少有K个重复字符的最长子串 - Medium
838 推多米诺 Medium 838. 推多米诺 - Medium
887 鸡蛋掉落 Hard 887. 鸡蛋掉落 - Hard
968 监控二叉树 Hard 968. 监控二叉树 - Hard

DFS(深度优先遍历)

序号 题目 难度 代码
22 括号生成 Medium 22. 括号生成 - Medium
51 N 皇后 Hard_递归 51. N 皇后 - Hard_递归
51 N 皇后 Hard_迭代 51. N 皇后 - Hard_迭代
52 N 皇后 II Hard 52. N 皇后 II - Hard
101 对称二叉树 Easy 101. 对称二叉树 - Easy
547 朋友圈 Medium_DFS 547. 朋友圈 - Medium_DFS

BFS(广度优先遍历)

序号 题目 难度 代码
101 对称二叉树 Easy 101. 对称二叉树 - Easy

序号 题目 难度 代码
20 Valid Parentheses(合法/有效的括号) Easy 20. Valid Parentheses(合法/有效的括号)- Easy
155 最小栈 Easy 155. 最小栈 - Easy
856 括号的分数 Medium 856. 括号的分数 - Medium

序号 题目 难度 代码
347 前 K 个高频元素 Medium 347. 前 K 个高频元素 - Medium

哈希与映射

序号 题目 难度 代码
1 两数之和 Easy 1. 两数之和 - Easy
347 前 K 个高频元素 Medium 347. 前 K 个高频元素 - Medium
380 常数时间插入、删除和获取随机元素- Medium_pending Medium 380. 常数时间插入、删除和获取随机元素- Medium_pending

链表

序号 题目 难度 代码
2 两数相加 Medium 2. 两数相加 - Medium
19 删除链表的倒数第N个节点 Medium 19. 删除链表的倒数第N个节点 - Medium
25 K 个一组翻转链表 Hard 25. K 个一组翻转链表 - Hard
138 复制带随机指针的链表 Medium 138. 复制带随机指针的链表 - Medium
141 环形链表 Easy 141. 环形链表 - Easy
148 排序链表 Medium 148. 排序链表 - Medium
148 排序链表 Medium_优化 148. 排序链表 - Medium_优化
160 交叉链表 Easy 160. 交叉链表 - Easy
160 交叉链表 Easy_优化 160. 交叉链表 - Easy_优化
203 移除链表元素 Medium_递归 203. 移除链表元素 - Medium_递归
203 移除链表元素 Medium_虚拟头结点 203. 移除链表元素 - Medium_虚拟头结点
206 反转链表 Easy 206. 反转链表 - Easy
234 回文链表 Easy 234. 回文链表 - Easy
237 删除链表中的节点 Easy 237. 删除链表中的节点 - Easy
328 奇偶链表 Medium_pending 328. 奇偶链表 - Medium_pending

序号 题目 难度 代码
94 二叉树中序遍历 Medium_迭代 94. 二叉树中序遍历 - Medium_迭代
98 验证二叉搜索树 Medium 98. 验证二叉搜索树 - Medium
104 二叉树的最大深度 Easy_迭代 104. 二叉树的最大深度 - Easy_迭代
104 二叉树的最大深度 Easy_递归 104. 二叉树的最大深度 - Easy_递归
108 将有序数组转换为二叉搜索树 Easy 108. 将有序数组转换为二叉搜索树 - Easy
110 平衡二叉树 Easy 110. 平衡二叉树 - Easy
112 路径总和 II Medium 112. 路径总和 II - Medium
113 路径总和 Easy 113. 路径总和 - Easy
114 二叉树展开为链表 Medium 114. 二叉树展开为链表 - Medium
129 求根到叶子节点数字之和 Medium 129. 求根到叶子节点数字之和 - Medium
145 二叉树后续序遍历 Medium_递归 145. 二叉树后续序遍历 - Medium_递归
199 二叉树的右视图 Medium 199. 二叉树的右视图 - Medium
235 二叉搜索树的最近公共祖先 Easy 235. 二叉搜索树的最近公共祖先 - Easy
236 二叉树的最近公共祖先 Medium 236. 二叉树的最近公共祖先 - Medium
257 二叉树的所有路径 Easy 257. 二叉树的所有路径 - Easy
297 二叉树的序列化与反序列化 Hard 297. 二叉树的序列化与反序列化 - Hard
450 删除二叉搜索树中的节点 Medium 450. 删除二叉搜索树中的节点
530 二叉搜索树的最小绝对差 Easy_treeToList 530. 二叉搜索树的最小绝对差 - Easy_treeToList
530 二叉搜索树的最小绝对差 Easy_treeToDoubleList 530. 二叉搜索树的最小绝对差 - Easy_treeToDoubleList
814 二叉树剪枝 Medium 814. 二叉树剪枝 - Medium

字典树

序号 题目 难度 代码
208 实现 Trie (前缀树) Medium_TreeMap 208. 实现 Trie (前缀树) - Medium_TreeMap
208 实现 Trie (前缀树) Medium_数组 208. 实现 Trie (前缀树) - Medium_数组
211 添加与搜索单词 - 数据结构设计 Medium_TreeMap 211. 添加与搜索单词 - 数据结构设计 - Medium_TreeMap
211 添加与搜索单词 - 数据结构设计 Medium_数组 211. 添加与搜索单词 - 数据结构设计 - Medium_数组
421 数组中两个数的最大异或值 Medium 421. 数组中两个数的最大异或值 - Medium

线段树

序号 题目 难度 代码
303 区域和检索 - 数组不可变 Easy 303. 区域和检索 - 数组不可变 - Easy
307 区域和检索 - 数组可修改 Medium 307. 区域和检索 - 数组可修改 - Medium

并查集

序号 题目 难度 代码
200 岛屿的个数 Medium 200. 岛屿的个数 - Medium
547 朋友圈 Medium_并查集 547. 朋友圈 - Medium_并查集
547 朋友圈 Medium_DFS 547. 朋友圈 - Medium_DFS

图论

序号 题目 难度 代码
127 单词接龙 Medium 127. 单词接龙 - Medium
133 克隆图 Medium 133. 克隆图 - Medium
200 岛屿的个数 Medium 200. 岛屿的个数 - Medium
207 课程表 Medium 207. 课程表 - Medium
207 课程表 Medium_拓扑排序 207. 课程表 - Medium_拓扑排序
210 课程表 II Medium_拓扑排序 210. 课程表 II - Medium_拓扑排序
785 判断二分图 Medium 785. 判断二分图 - Medium

设计

序号 题目 难度 代码
173 二叉搜索树迭代器 Medium_辅助栈 173. 二叉搜索树迭代器 - Medium_辅助栈
173 二叉搜索树迭代器 Medium_空间复杂度O(1),next()平均时间复杂度O(1) 173. 二叉搜索树迭代器 - Medium_空间复杂度O(1),next()平均时间复杂度O(1)
225 用队列实现栈 Medium 225. 用队列实现栈
232 用栈实现队列 Medium 232. 用栈实现队列

专项

ByteDance
序号 题目 难度 代码
- 无重复字符的最长子串 Medium 无重复字符的最长子串
- 最长公共前缀 Easy 最长公共前缀
- 合并两个有序链表 Easy 合并两个有序链表
- 买卖股票的最佳时机 Easy 买卖股票的最佳时机
- 二叉搜索树中第k小的节点 Easy 二叉搜索树中第k小的节点

LeetCode 周赛

第 129 周
序号 题目 难度 代码
- 将数组分成和相等的三个部分 Easy 将数组分成和相等的三个部分 - Easy
- 可被 K 整除的最小整数 Medium 可被 K 整除的最小整数 - Medium
- 最佳观光组合 Medium 最佳观光组合 - Medium
- 子串能表示从 1 到 N 数字的二进制串 Medium 子串能表示从 1 到 N 数字的二进制串 - Medium
第 130 周
序号 题目 难度 代码
- 可被 5 整除的二进制前缀 Easy 可被 5 整除的二进制前缀 - Easy
- 负二进制转换 Medium 负二进制转换 - Medium
- 链表中的下一个更大节点 Medium 链表中的下一个更大节点 - Medium
- 飞地的数量 Medium_DFS 飞地的数量 - Medium_DFS
- 飞地的数量 Medium_Queue 飞地的数量 - Medium_Queue
第 131 周

题目链接

序号 题目 难度 代码
- 删除最外层的括号 Easy 删除最外层的括号 - Easy
- 从根到叶的二进制数之和 Medium 从根到叶的二进制数之和 - Medium
- 驼峰式匹配 Medium 驼峰式匹配 - Medium
- 视频拼接 Medium 视频拼接 - Medium
第 132 周

题目链接

序号 题目 难度 代码
- 除数博弈 Easy 除数博弈 - Easy
- 节点与其祖先之间的最大差值 Medium 节点与其祖先之间的最大差值 - Medium
- 最长等差数列 Medium_pending_TLE 最长等差数列 - Medium_pending_TLE
- 从先序遍历还原二叉树 Hard 从先序遍历还原二叉树 - Hard
第 133 周

题目链接

序号 题目 难度 代码
1029 两地调度 Easy 1029. 两地调度 - Easy
1030 距离顺序排列矩阵单元格 Easy 1030. 距离顺序排列矩阵单元格 - Easy
1031 两个非重叠子数组的最大和 Medium 1031. 两个非重叠子数组的最大和 - Medium
1032 字符流 Hard 1032. 字符流 - Hard
第 134 周

题目链接

序号 题目 难度 代码
5039 移动石子直到连续 Easy 5039. 移动石子直到连续 - Easy
5040 边框着色 Medium 5040. 边框着色 - Medium
5041 不相交的线 Easy 5041. 不相交的线 - Easy
5042 逃离大迷宫_pending Hard 5042. 逃离大迷宫_pending - Hard
第 135 周

题目链接

序号 题目 难度 代码
5051 有效的回旋镖 Easy 5051. 有效的回旋镖 - Easy
5050 从二叉搜索树到更大和树 Medium 5050. 从二叉搜索树到更大和树 - Medium
5047 多边形三角剖分的最低得分_pending Medium 5047. 多边形三角剖分的最低得分_pending - Medium
5049 移动石子直到连续 II_pending Medium 5049. 移动石子直到连续 II_pending - Medium
第 136 周

题目链接

序号 题目 难度 代码
5055 困于环中的机器人 Easy 5055. 困于环中的机器人 - Easy
5056 不邻接植花 Easy 5056. 不邻接植花 - Easy
5057 分隔数组以得到最大和 Medium 5057. 分隔数组以得到最大和 - Medium
5058 最长重复子串 Hard 5058. 最长重复子串 - Hard

牛客网

剑指Offer
序号 题目 难度 代码
- 用两个栈实现队列 - 用两个栈实现队列
- 重建二叉树 - 重建二叉树
- 跳台阶 - 跳台阶
- 变态跳台阶 - 变态跳台阶 - 动态规划
- 变态跳台阶 - 变态跳台阶 - 数学

LeetCode

剑指Offer
序号 题目 难度 代码
- 二叉搜索树的第k大节点 Easy 剑指 Offer 54. 二叉搜索树的第k大节点

注意

因为有一些问题还没有中文翻译,标题中包含 zh 和 en 释义如下:

我的相关仓库

HelloAlgorithm - 常用数据结构与算法

AlgorithmVisualization - 算法可视化

LintCode 平常练习 - Python

优质资料汇总

Pending

交流

Pending

ps:

  • 持续更新...后续将添加具体解析,敬请关注我的博客:blog

Releases

No releases published

Packages

No packages published