记录leetcode刷题记录
NO. | Title | Solution | Difficulty | Tag |
---|---|---|---|---|
0 | 特殊元素平方和 | C++ | Easy | |
1 | 数组的最大美丽值 | C++ | Medium | 滑动窗口+双指针 |
2 | 合法分割的最小下标 | C++ | Medium | 哈希表+众数 |
3 | 最长公共子序列 | C++ | Medium | 动态规划 |
4 | 买卖股票的最佳时机含手续费 | C++ | Medium | 动态规划 |
5 | 编辑距离 | C++ | Hard | 动态规划 |
6 | 或运算的最小翻转次数 | C++ | Medium | 位运算 |
7 | 实现 Trie (前缀树) | C++ | Medium | 前缀树 |
8 | 搜索推荐系统 | C++ | Medium | 前缀树 |
9 | 无重叠区间 | C++ | Medium | 区间集合 |
10 | 用最少数量的箭引爆气球 | C++ | Medium | 区间集合 |
11 | 每日温度 | C++ | Medium | 单调栈 |
12 | 股票价格跨度 | C++ | Medium | 单调栈 |
13 | 不同路径 III | C++ | Hard | 回溯 |
14 | 合并两个有序链表 | C++ | Easy | |
15 | 取整购买后的账户余额 | C++ | Easy | |
16 | 在链表中插入最大公约数 | C++ | Medium | |
17 | 故障键盘 | C++ | Easy | |
18 | 两两交换链表中的节点 | C++ | Medium | 交换链表节点 |
19 | 反转字符串 | C++ | Easy | 字符反转 |
20 | 汇总区间 | C++ | Easy | 双指针 |
21 | 距离原点最远的点 | C++ | Easy | |
22 | 找出美丽数组的最小和 | C++ | Medium | 数学推导 |
23 | 插入区间 | C++ | Medium | 取交集 |
24 | 乘积小于 K 的子数组 | C++ | Medium | 滑动窗口 |
25 | 买钢笔和铅笔的方案数 | C++ | Medium | 枚举 |
26 | 统计对称整数的数目 | C++ | Easy | 暴力枚举 |
27 | 生成特殊数字的最少操作 | C++ | Medium | 枚举 |
28 | 从两个数字数组里生成最小数字 | C++ | Easy | 哈希表 |
29 | 最深叶节点的最近公共祖先 | C++ | Medium | 树的dfs |
30 | 修车的最少时间 | C++ | Medium | 二分查找 |
31 | 与车相交的点 | C++ | Easy | 并区间 |
32 | 判断能否在给定时间到达单元格 | C++ | Medium | 数学公式 |
33 | 课程表 IV | C++ | Medium | 图的dfs、拓扑排序 |
34 | 可以攻击国王的皇后 | C++ | Medium | 模拟 |
35 | 打家劫舍 | C++ | Medium | 动态规划 |
36 | 计算 K 置位下标对应元素的和 | C++ | Easy | 位运算 |
37 | 让所有学生保持开心的分组方法数 | C++ | Medium | 排序、贪心 |
38 | 213. 打家劫舍 II | C++ | Medium | 动态规划、环 |
39 | 2560. 打家劫舍 IV | C++ | Medium | 动态规划、二分法 |
代码随想录刷题记录
- 0 - 4 数组
- 5 -11链表
- 12 -19 哈希表
- 20 - 23 字符串
- 24 - 27 栈与队列
- 28 - 50 二叉树
- 51- 64 回溯
- 65 - 75 贪心
- 76 - 动态规划
NO. | Title | Solution | Difficulty | Tag |
---|---|---|---|---|
0 | 704. 二分查找 | python、java | Easy | 二分查找 |
1 | 27. 移除元素 | python、java | Easy | 快慢指针 |
2 | 977. 有序数组的平方 | python、java | Easy | |
3 | 209. 长度最小的子数组 | python、java | Medium | 双指针、滑动窗口 |
4 | 59. 螺旋矩阵 II | python、java | Medium | 顺时针模拟 |
5 | 203. 移除链表元素 | python、java | Easy | |
6 | 707. 设计链表 | python、java | Medium | |
7 | 206. 反转链表 | python、java | Easy | |
8 | 24.两两交换链表中的节点 | python、java | Medium | 递归 |
9 | 19. 删除链表的倒数第 N 个结点 | python、java | Medium | |
10 | 面试题 02.07. 链表相交 | python、java | Easy | |
11 | 142. 环形链表 II | python、java | Medium | 快慢指针 |
12 | 242. 有效的字母异位词 | python、java | Easy | |
13 | 349. 两个数组的交集 | python、java | Easy | |
14 | 202. 快乐数 | python、java | Easy | |
15 | 1. 两数之和 | python、java | Easy | 哈希表 |
16 | 454. 四数相加 II | python、java | Medium | 哈希表 |
17 | 383. 赎金信 | python、java | Easy | 哈希表 |
18 | 15. 三数之和 | python、java | Medium | 双指针 |
19 | 18. 四数之和 | python、java | Medium | 双指针 |
20 | 541. 反转字符串 II | python、java、C++ | Easy | 双指针 |
21 | 151. 反转字符串中的单词 | python、C++ | Medium | 双指针 |
22 | 28. 找出字符串中第一个匹配项的下标 | python、C++ | Easy | KMP |
23 | 459. 重复的子字符串 | python、C++ | Easy | KMP |
24 | 20. 有效的括号 | python、C++ | Easy | 栈 |
25 | 150. 逆波兰表达式求值 | python、C++ | Medium | 栈 |
26 | 239. 滑动窗口最大值 | python、C++、java | Hard | 单调队列 |
27 | 347. 前 K 个高频元素 | python、C++ | Medium | 优先队列、堆 |
28 | 144. 二叉树的前序遍历 | python、C++ | Easy | 先序遍历 |
29 | 94. 二叉树的中序遍历 | python、C++ | Easy | 中序遍历 |
30 | 145. 二叉树的后序遍历 | python、C++ | Easy | 后序遍历 |
31 | 102. 二叉树的层序遍历 | python、C++ | Medium | 层序遍历 |
32 | 199. 二叉树的右视图 | python、C++ | Medium | 层序遍历 |
33 | 226. 翻转二叉树 | python、C++ | Easy | 翻转二叉树 |
34 | 101. 对称二叉树 | python、C++ | Easy | 对称二叉树 |
35 | 110. 平衡二叉树 | python、C++ | Easy | 平衡二叉树 |
36 | 257. 二叉树的所有路径 | python、C++ | Easy | 回溯 |
37 | 404. 左叶子之和 | python、C++ | Easy | |
38 | 106. 从中序与后序遍历序列构造二叉树 | python、C++ | Medium | 二叉树构造 |
39 | 654. 最大二叉树 | python、C++ | Medium | |
40 | 700. 二叉搜索树中的搜索 | python、C++ | Easy | 二叉搜索树 |
41 | 98. 验证二叉搜索树 | python、C++ | Medium | 二叉搜索树 |
42 | 530. 二叉搜索树的最小绝对差 | python、C++ | Easy | 二叉搜索树 |
43 | 501. 二叉搜索树中的众数 | python、C++ | Easy | 二叉搜索树 |
44 | 236. 二叉树的最近公共祖先 | python、C++ | Medium | 二叉树最近公共祖先 |
45 | 235. 二叉搜索树的最近公共祖先 | python、C++ | Medium | 二叉树搜索树 |
46 | 701. 二叉搜索树中的插入操作 | python、C++ | Medium | 二叉树搜索树 |
47 | 450. 删除二叉搜索树中的节点 | python、C++ 、java | Medium | 二叉树搜索树 |
48 | 669. 修剪二叉搜索树 | python、C++ 、java | Medium | 二叉树搜索树 |
49 | 108. 将有序数组转换为二叉搜索树 | python、C++ | Easy | 二叉搜索树 |
50 | 538. 把二叉搜索树转换为累加树 | python、C++ 、java | Medium | 二叉树搜索树 |
51 | 77. 组合 | python、C++ 、java | Medium | 组合型回溯 |
52 | 216. 组合总和 III | python、C++ 、java | Medium | 组合型回溯 |
53 | 17. 电话号码的字母组合 | python、C++ 、java | Medium | 组合型回溯 |
54 | 39. 组合总和 | python、C++ 、java | Medium | 组合型回溯 |
55 | 40. 组合总和 II | python、C++ 、java | Medium | 组合型回溯 |
56 | 131. 分割回文串 | python、C++ 、java | Medium | 切割型回溯 |
57 | 93. 复原 IP 地址 | python、C++ 、java | Medium | 切割型回溯 |
58 | 78. 子集 | python、C++ 、java | Medium | 子集型回溯 |
59 | 491. 非递减子序列 | python、C++ 、java | Medium | 子集型回溯 |
60 | 46. 全排列 | python、C++ 、java | Medium | 排列型回溯 |
61 | 47. 全排列 II | python、C++ 、java | Medium | 排列型回溯 |
62 | 332. 重新安排行程 | python | Hard | 图回溯 |
63 | 51. N 皇后 | python | Hard | 一维回溯 |
64 | 37. 解数独 | python | Hard | 二维回溯 |
65 | 376. 摆动序列 | python、C++ 、java | Medium | 贪心 |
66 | 53. 最大子数组和 | python、C++ 、java | Medium | 贪心 |
67 | 122. 买卖股票的最佳时机 II | python、C++ 、java | Medium | 贪心 |
68 | 55. 跳跃游戏 | python、C++ 、java | Medium | 贪心 |
69 | 45. 跳跃游戏 II | python、C++ 、java | Medium | 贪心 |
70 | 134. 加油站 | python、C++ 、java | Medium | 贪心 |
71 | 135. 分发糖果 | python | Hard | 贪心 |
72 | 406. 根据身高重建队列 | python、C++ 、java | Medium | 贪心 |
73 | 452.用最少数量的箭引爆气球 | python、C++ 、java | Medium | 贪心 |
74 | 763. 划分字母区间 | python、C++ 、java | Medium | 贪心 |
75 | 738. 单调递增的数字 | python、C++ 、java | Medium | 贪心 |
76 | 62. 不同路径 | python、java | Medium | 动态规划 |
77 | 343. 整数拆分 | python | 动态规划 | |
78 | 96. 不同的二叉搜索树 | python | Medium | 动态规划 |
79 | 416. 分割等和子集 | python | Medium | 01背包 |
80 | 1049. 最后一块石头的重量 II | python | Medium | 01背包 |
81 | 518. 零钱兑换 II | python | Medium | 完全背包 |
82 | 377. 组合总和 Ⅳ | python | Medium | 完全背包 |