- 前言
- 2.27-3.6(5+10+1=16)
- 3.7-3.13(3+7+3=13)
- 3.14-3.20(3+8+1=12)
- 3.21-3.27(5+9+1=15)
- 3.28-4.3(6+9+2=17)
- 4.4-4.10(5+13+2=20)
- 4.11-4.17(5+12+4=21)
- 4.18-4.24(4+15+2=21)
- 4.25-5.1(4+13+3=20)
- 5.2-5.8(5+13+2=20)
- 5.9-5.15(6+7+3=16)
- 5.16-5.22(4+10+2=16)
- 5.23-5.29(4+5+1=10)
- 5.30-6.5(3+8+5=16)
- 6.6-6.12(3+11+2=16)
- 6.13-6.19(4+10+5=19)
前言
本文档记录了从年
月
日开始每周刷的题目,进行题目的汇总、分类以及思路梳理,起到一个督促和激励的作用。
3月因忙毕设,保证一周刷到
道题目,4月开始每周
道,有时间就多刷。
题目来源主要分为力扣每日一题及其相关题目,之前做过但遗忘的题目。
每周日晚上更新当周所做题目,表格中序号加粗的为值得重复做的好题。题目思路和代码也会传到该知识库中,点击表格对应项可查看,左侧目录也可以看到。
随着题目越来越多,需要对题目做一个知识点分类,方便回顾总结,见「这里」,汇总的包括有代表性的、不熟练的、值得回看的题目。
欢迎大家交流,有错误请指正。
2.27-3.6(5+10+1=16)
序号 | 题目 | 标签 | 难度 | 思路和代码 | 提交日期 | 备注 |
---|---|---|---|---|---|---|
1 | 553. 最优除法 | 数组 数学 DP 贪心 |
medium |
Java | 2.27 | 2.27每日一题 |
2 | 2016. 增量元素之间的最大差值 | 数组 |
easy |
Java | 2.27 | 2.26每日一题 |
3 | 1601. 最多可达成的换楼请求数目 | 回溯 枚举 位运算 |
hard |
Java | 2.28 | 2.28每日一题 |
4 | 537. 复数乘法 | 数学 字符串 |
medium |
Java | 2.28 | 2.25每日一题 |
5 | 1706. 球会落何处 | DFS 模拟 |
medium |
Java | 2.28 | 2.24每日一题、官解优雅 |
6 | 6. Z 字形变换 | 字符串 |
medium |
Java | 3.1 | 3.1每日一题、学习官解直接构造法 |
7 | 917. 仅仅反转字母 | 字符串 双指针 |
easy |
Java | 3.1 | 2.23每日一题 |
8 | 838. 推多米诺 | 双指针 BFS |
medium |
Java | 3.1 | 2.21每日一题、BFS待补充 |
9 | 717. 1 比特与 2 比特字符 | 数组 |
easy |
Java | 3.2 | 2.20每日一题 |
10 | 258. 各位相加 | 数学 模拟 |
easy |
Java | 3.3 | 3.3每日一题 |
11 | 1637. 两点之间不包含任何点的最宽垂直面积 | 排序 |
medium |
Java | 3.3 | 随机一题 |
12 | 2104. 子数组范围和 | 单调栈 |
medium |
Java | 3.4 | 3.4每日一题 |
13 | 55. 跳跃游戏 | 贪心 DP |
medium |
Java | 3.4 | 复习旧题 |
14 | 521. 最长特殊序列 Ⅰ | 字符串 |
easy |
Java | 3.5 | 3.5每日一题 |
15 | 2100. 适合打劫银行的日子 | DP 前缀和 |
medium |
Java | 3.6 | 3.6每日一题、需要回看 |
16 | 45. 跳跃游戏 II | 贪心 DP |
medium |
Java | 3.6 | 跳跃系列第二题、还需理解 |
3.7-3.13(3+7+3=13)
序号 | 题目 | 标签 | 难度 | 思路和代码 | 提交日期 | 备注 |
---|---|---|---|---|---|---|
1 | 504. 七进制数 | 数学 |
easy |
Java | 3.7 | 3.7每日一题 |
2 | 1306. 跳跃游戏 III | DFS BFS |
medium |
Java | 3.7 | 跳跃系列第三题 |
3 | 2055. 蜡烛之间的盘子 | 前缀和 二分 |
medium |
Java | 3.8 | 3.8每日一题 |
4 | 1345. 跳跃游戏 IV | BFS 哈希表 |
hard |
Java | 3.8 | 跳跃系列第四题、注意超时问题 |
5 | 49. 字母异位词分组 | 哈希表 字符串 |
medium |
Java | 3.9 | 复习旧题 |
6 | 1340. 跳跃游戏 V | DFS DP 记忆化 |
hard |
Java | 3.9 | 跳跃系列第五题、体会记忆化和DP两种做法的思路差异 |
7 | 589. N 叉树的前序遍历 | 树 栈 DFS |
easy |
Java | 3.10 | 3.10每日一题 |
8 | 238. 除自身以外数组的乘积 | 数组 前缀和 |
medium |
Java | 3.10 | 复习旧题 |
9 | 2049. 统计最高分的节点数目 | 二叉树 DFS 数组 |
medium |
Java | 3.11 | 3.11每日一题、需要回看 |
10 | 590. N 叉树的后序遍历 | 树 栈 DFS |
easy |
Java | 3.12 | 3.12每日一题 |
11 | 239. 滑动窗口最大值 | 堆 单调队列 滑窗 |
hard |
Java | 3.12 | 复习旧题、经典题、重点掌握 |
12 | 1696. 跳跃游戏 VI | 堆 单调队列 滑窗 DP |
medium |
Java | 3.12 | 跳跃系列第六题、需要回看 |
13 | 393. UTF-8 编码验证 | 位运算 |
medium |
Java | 3.13 | 3.13每日一题 |
3.14-3.20(3+8+1=12)
序号 | 题目 | 标签 | 难度 | 思路和代码 | 提交日期 | 备注 |
---|---|---|---|---|---|---|
1 | 599. 两个列表的最小索引总和 | 数组 哈希表 |
easy |
Java | 3.14 | 3.14每日一题 |
2 | 1871. 跳跃游戏 VII | 前缀和 DP 有序集合 |
medium |
Java | 3.14 | 跳跃系列第七题(last) |
3 | 2044. 统计按位或能得到最大值的子集数目 | 位运算 回溯 |
medium |
Java | 3.15 | 3.15每日一题 |
4 | 1654. 到家的最少跳跃次数 | BFS 数组 |
medium |
Java | 3.16 | 继续跳跃 |
5 | 127. 单词接龙 | BFS 哈希表 |
hard |
Java | 3.16 | 复习旧题、经典题、双向BFS待补充 |
6 | 720. 词典中最长的单词 | 字符串 哈希表 排序 |
easy |
Java | 3.17 | 3.17每日一题 |
7 | 97. 交错字符串 | 字符串 DP |
medium |
Java | 3.17 | 复习旧题、空间待优化 |
8 | 2043. 简易银行系统 | 数组 模拟 |
medium |
Java | 3.18 | 3.18每日一题 |
9 | 1992. 找到所有的农场组 | BFS DFS 矩阵 |
medium |
Java | 3.18 | 随机一题 |
10 | 419. 甲板上的战舰 | DFS 矩阵 |
medium |
Java | 3.18 | 1992类似题目 |
11 | 606. 根据二叉树创建字符串 | 二叉树 DFS |
easy |
Java | 3.19 | 3.19每日一题、迭代待补充 |
12 | 2131. 连接两字母单词得到的最长回文串 | 贪心 哈希表 字符串 |
medium |
Java | 3.19 | 随机一题、好题、官解更优雅 |
3.21-3.27(5+9+1=15)
序号 | 题目 | 标签 | 难度 | 思路和代码 | 提交日期 | 备注 |
---|---|---|---|---|---|---|
1 | 653. 两数之和 IV - 输入 BST | 二叉搜索树 DFS 哈希表 双指针 |
easy |
Java | 3.21 | 3.21每日一题 |
2 | 204. 计数质数 | 数学 数组 |
medium |
Java | 3.21 | 复习旧题 |
3 | 2038. 如果相邻两个颜色均相同则删除当前颜色 | 字符串 贪心 |
medium |
Java | 3.22 | 3.22每日一题 |
4 | 53. 最大子数组和 | 数组 DP |
easy |
Java | 3.22 | 复习旧题 |
5 | 440. 字典序的第K小数字 | 字典树 |
hard |
Java | 3.23 | 3.23每日一题、还需理解 |
6 | 661. 图片平滑器 | 矩阵 数组 |
easy |
Java | 3.24 | 3.24每日一题 |
7 | 1718. 构建字典序最大的可行序列 | 回溯 |
medium |
Java | 3.24 | 随机一题、需要回看 |
8 | 172. 阶乘后的零 | 数学 |
medium |
Java | 3.25 | 3.25每日一题 |
9 | 746. 使用最小花费爬楼梯 | DP |
easy |
Java | 3.25 | 复习旧题 |
10 | 剑指 Offer 45. 把数组排成最小的数 | 排序 字符串 |
medium |
Java | 3.25 | 随机一题 |
11 | 682. 棒球比赛 | 数组 模拟 栈 |
easy |
Java | 3.26 | 3.26每日一题 |
12 | 540. 有序数组中的单一元素 | 二分 |
medium |
Java | 3.26 | 异或用的很赞 |
13 | 2028. 找出缺失的观测数据 | 数组 模拟 |
medium |
Java | 3.27 | 3.27每日一题 |
14 | 128. 最长连续序列 | 数组 哈希表 并查集 |
medium |
Java | 3.27 | 复习旧题 |
15 | 390. 消除游戏 | 数学 |
medium |
Java | 3.27 | 复习旧题 |
3.28-4.3(6+9+2=17)
序号 | 题目 | 标签 | 难度 | 思路和代码 | 提交日期 | 备注 |
---|---|---|---|---|---|---|
1 | 693. 交替位二进制数 | 位运算 |
easy |
Java | 3.28 | 3.28每日一题 |
2 | 485. 最大连续 1 的个数 | 滑窗 |
easy |
Java | 3.28 | 复习旧题 |
3 | 1004. 最大连续1的个数 III | 滑窗 二分 前缀和 |
medium |
Java | 3.29 | 复习旧题 |
4 | 2024. 考试的最大困扰度 | 滑窗 二分 前缀和 |
medium |
Java | 3.29 | 3.29每日一题 |
5 | 1606. 找到处理最多请求的服务器 | 有序集合 优先队列 |
hard |
Java | 3.30 | 3.30每日一题 |
6 | 1202. 交换字符串中的元素 | 哈希表 并查集 |
medium |
Java | 3.30 | 随机一题、复习 |
7 | 728. 自除数 | 数学 模拟 |
easy |
Java | 3.31 | 3.31每日一题 |
8 | 1722. 执行交换操作后的最小汉明距离 | 哈希表 并查集 |
medium |
Java | 3.31 | 1202相似题、难度稍微up |
9 | 954. 二倍数对数组 | 贪心 哈希表 |
medium |
Java | 4.1 | 4.1每日一题 |
10 | 160. 相交链表 | 链表 |
easy |
Java | 4.1 | 复习旧题 |
11 | 187. 重复的DNA序列 | 哈希表 滑窗 位运算 字符串 |
medium |
Java | 4.1 | 复习旧题、位运算很赞 |
12 | 420. 强密码检验器 | 贪心 字符串 |
hard |
Java | 4.2 | 4.2每日一题 |
13 | 916. 单词子集 | 字符串 |
medium |
Java | 4.2 | 随机一题 |
14 | 744. 寻找比目标字母大的最小字母 | 数组 二分 |
easy |
Java | 4.3 | 4.3每日一题 |
15 | 2224. 转化时间需要的最少操作数 | 字符串 贪心 |
easy |
Java | 4.3 | 287周赛T1(Y) |
16 | 2225. 找出输掉零场或一场比赛的玩家 | 图 哈希表 |
medium |
Java | 4.3 | 287周赛T2(Y) |
17 | 2226. 每个小孩最多能分到多少糖果 | 二分 |
medium |
Java | 4.3 | 287周赛T3(Y) |
4.4-4.10(5+13+2=20)
序号 | 题目 | 标签 | 难度 | 思路和代码 | 提交日期 | 备注 |
---|---|---|---|---|---|---|
1 | 2227. 加密解密字符串 | 哈希表 DFS 字典树 |
hard |
Java | 4.4 | 287周赛T4(N) |
2 | 307. 区域和检索 - 数组可修改 | 线段树 |
medium |
Java | 4.4 | 4.4每日一题 |
3 | 303. 区域和检索 - 数组不可变 | 前缀和 |
easy |
Java | 4.4 | 307相关题目 |
4 | 762. 二进制表示中质数个计算置位 | 位运算 数学 |
easy |
Java | 4.5 | 4.5每日一题 |
5 | 77. 组合 | 回溯 |
medium |
Java | 4.5 | 复习、待剪枝 |
6 | 310. 最小高度树 | DFS BFS 拓扑排序 |
medium |
Java | 4.6 | 4.6每日一题 |
7 | 973. 最接近原点的 K 个点 | 优先队列 快排 |
medium |
Java | 4.6 | 复习 |
8 | 796. 旋转字符串 | 字符串 |
easy |
Java | 4.7 | 4.7每日一题 |
9 | 1818. 绝对差值和 | 二分 有序集合 |
medium |
Java | 4.7 | 复习、取余有讲究 |
10 | 429. N 叉树的层序遍历 | 树 BFS |
medium |
Java | 4.8 | 4.8每日一题 |
11 | 46. 全排列 | 回溯 |
medium |
Java | 4.8 | 复习 |
12 | 47. 全排列 II | 回溯 |
medium |
Java | 4.8 | 复习 |
13 | 39. 组合总和 | 回溯 |
medium |
Java | 4.8 | 复习 |
14 | 780. 到达终点 | 数学 |
hard |
Java | 4.9 | 4.9每日一题 |
15 | 417. 太平洋大西洋水流问题 | DFS BFS |
medium |
Java | 4.9 | 复习 |
16 | 804. 唯一摩尔斯密码词 | 字符串 哈希表 |
easy |
Java | 4.10 | 4.10每日一题 |
17 | 2231. 按奇偶性交换后的最大数字 | 排序 优先队列 |
easy |
Java | 4.10 | 288周赛T1(Y) |
18 | 2232. 向表达式添加括号后的最小结果 | 字符串 |
medium |
Java | 4.10 | 288周赛T2(Y) |
19 | 2233. K 次增加后的最大乘积 | 优先队列 |
medium |
Java | 4.10 | 288周赛T3(Y) |
20 | 1985. 找出数组中的第 K 大整数 | 优先队列 |
medium |
Java | 4.10 | 学习使用PriorityQueue.comparator().compare() |
4.11-4.17(5+12+4=21)
序号 | 题目 | 标签 | 难度 | 思路和代码 | 提交日期 | 备注 |
---|---|---|---|---|---|---|
1 | 357. 统计各位数字都不同的数字个数 | 数学 DP |
medium |
Java | 4.11 | 4.11每日一题 |
2 | 1039. 多边形三角剖分的最低得分 | DP |
medium |
Java | 4.11 | 复习 |
3 | 806. 写字符串需要的行数 | 字符串 |
easy |
Java py | 4.12 | 4.12每日一题 |
4 | 312. 戳气球 | DP |
hard |
Java | 4.12 | 复习 |
5 | 1638. 统计只差一个字符的子串数目 | 字符串 DP |
medium |
Java | 4.12 | 复习、反复回看 |
6 | 5. 最长回文子串 | 字符串 DP |
medium |
Java | 4.12 | 复习 |
7 | 380. O(1) 时间插入、删除和获取随机元素 | 设计 哈希表 |
medium |
Java | 4.13 | 4.13每日一题 |
8 | 171. Excel 表列序号 | 数学 |
easy |
Java | 4.13 | 随机一题 |
9 | 1672. 最富有客户的资产总量 | 数组 |
easy |
Java | 4.14 | 4.14每日一题 |
10 | 122. 买卖股票的最佳时机 II | DP 贪心 |
medium |
Java | 4.14 | 复习 |
11 | 123. 买卖股票的最佳时机 III | 数组 DP |
hard |
Java | 4.14 | 复习 |
12 | 385. 迷你语法分析器 | 栈 DFS |
medium |
Java | 4.15 | 4.15每日一题 |
13 | 1911. 最大子序列交替和 | DP 贪心 |
medium |
Java | 4.15 | 随机一题 |
14 | 188. 买卖股票的最佳时机 IV | 数组 DP |
hard |
Java | 4.15 | 复习、123的一般情况 |
15 | 479. 最大回文数乘积 | 数学 |
hard |
Java | 4.16 | 4.16每日一题 |
16 | 309. 最佳买卖股票时机含冷冻期 | 数组 DP |
medium |
Java | 4.16 | 复习、需要回看 |
17 | 714. 买卖股票的最佳时机含手续费 | 数组 DP |
medium |
Java | 4.16 | 复习 |
18 | 819. 最常见的单词 | 字符串 哈希表 |
easy |
Java py | 4.17 | 4.17每日一题 |
19 | 2243. 计算字符串的数字和 | 字符串 |
easy |
Java py | 4.17 | 289周赛T1(Y) |
20 | 2244. 完成所有任务需要的最少轮数 | 哈希表 |
medium |
Java py | 4.17 | 289周赛T2(Y) |
21 | 2245. 转角路径的乘积中最多能有几个尾随零 | 前缀和 数学 |
medium |
Java | 4.17 | 289周赛T3(N) |
4.18-4.24(4+15+2=21)
序号 | 题目 | 标签 | 难度 | 思路和代码 | 提交日期 | 备注 |
---|---|---|---|---|---|---|
1 | 386. 字典序排数 | DFS 字典树 |
medium |
Java | 4.18 | 4.18每日一题 |
2 | 124. 二叉树中的最大路径和 | DFS DP |
hard |
Java | 4.18 | 复习、进一步理解 |
3 | 687. 最长同值路径 | DFS 树 |
medium |
Java | 4.18 | 思想同124、重点掌握 |
4 | 821. 字符的最短距离 | 字符串 |
easy |
Java | 4.19 | 4.19每日一题 |
5 | 2246. 相邻字符不同的最长路径 | DFS 树 |
hard |
Java | 4.19 | 289周赛T4(N)、687类似题 |
6 | 304. 二维区域和检索 - 矩阵不可变 | 前缀和 |
medium |
Java | 4.19 | 复习、二维区域和模板 |
7 | 388. 文件的最长绝对路径 | DFS 栈 字符串 |
medium |
Java | 4.20 | 4.20每日一题 |
8 | 64. 最小路径和 | DP |
medium |
Java | 4.20 | 复习 |
9 | 322. 零钱兑换 | DP BFS |
medium |
Java | 4.20 | 复习、完全背包经典题 |
10 | 824. 山羊拉丁文 | 字符串 |
easy |
Java py | 4.21 | 4.21每日一题 |
11 | 931. 下降路径最小和 | DP 矩阵 |
medium |
Java | 4.21 | 复习 |
12 | 983. 最低票价 | DP |
medium |
Java | 4.21 | 复习 |
13 | 396. 旋转函数 | 前缀和 数学 |
medium |
Java | 4.22 | 4.22每日一题 |
14 | 650. 只有两个键的键盘 | DP 数学 |
medium |
Java | 4.22 | 复习 |
15 | 279. 完全平方数 | DP BFS |
medium |
Java | 4.22 | 复习、思路同322、体会内外层循环交换的区别 |
16 | 1049. 最后一块石头的重量 II | DP |
medium |
Java | 4.23 | 复习 |
17 | 120. 三角形最小路径和 | DP |
medium |
Java | 4.23 | 复习 |
18 | 868. 二进制间距 | 位运算 |
easy |
Java | 4.24 | 4.24每日一题 |
19 | 2248. 多个数组求交集 | 数组 |
easy |
Java py | 4.24 | 290周赛T1(Y) |
20 | 2249. 统计圆内格点数目 | 数学 |
medium |
Java | 4.24 | 290周赛T2(Y) |
21 | 2250. 统计包含每个点的矩形数目 | 哈希表 二分 |
medium |
Java | 4.24 | 290周赛T3(N) |
4.25-5.1(4+13+3=20)
序号 | 题目 | 标签 | 难度 | 思路和代码 | 提交日期 | 备注 |
---|---|---|---|---|---|---|
1 | 398. 随机数索引 | 水塘抽样 随机化 哈希表 |
medium |
Java | 4.25 | 4.25每日一题 |
2 | 382. 链表随机节点 | 水塘抽样 链表 随机化 |
medium |
Java | 4.25 | 水塘抽样例题 |
3 | 2251. 花期内花的数目 | 差分 二分 |
hard |
Java | 4.25 | 290周赛T4(N)、重点学习 |
4 | 315. 计算右侧小于当前元素的个数 | 归并排序 树状数组 |
hard |
Java | 4.25 | 学习树状数组 |
5 | 883. 三维形体投影面积 | 几何 数组 |
easy |
Java | 4.26 | 4.26每日一题 |
6 | 406. 根据身高重建队列 | 排序 贪心 树状数组 |
medium |
Java | 4.26 | 复习、重点关注优化 |
7 | 474. 一和零 | DP |
medium |
Java | 4.26 | 复习、二维限制的01背包 |
8 | 221. 最大正方形 | DP 矩阵 |
medium |
Java | 4.26 | 复习 |
9 | 174. 地下城游戏 | DP |
hard |
Java | 4.27 | 复习 |
10 | 905. 按奇偶排序数组 | 数组 双指针 排序 |
easy |
Java | 4.28 | 4.28每日一题 |
11 | 1155. 掷骰子的N种方法 | DP |
medium |
Java | 4.28 | 复习 |
12 | 427. 建立四叉树 | 树 DFS 前缀和 |
medium |
Java | 4.29 | 4.29每日一题 |
13 | 1984. 学生分数的最小差值 | 排序 滑窗 |
easy |
Java | 4.29 | 随机一题 |
14 | 1447. 最简分数 | 数学 |
medium |
Java | 4.29 | 随机一题 |
15 | 300. 最长递增子序列 | DP 二分 |
medium |
Java | 4.29 | 复习 |
16 | 908. 最小差值 I | 数学 |
easy |
Java | 4.30 | 4.30每日一题 |
17 | 910. 最小差值 II | 贪心 排序 |
medium |
Java | 4.30 | 908相关 |
18 | 494. 目标和 | DP 回溯 |
medium |
Java | 4.30 | 复习 |
19 | 518. 零钱兑换 II | DP |
medium |
Java | 4.30 | 复习 |
20 | 1305. 两棵二叉搜索树中的所有元素 | 树 DFS 排序 |
medium |
Java | 5.1 | 5.1每日一题 |
5.2-5.8(5+13+2=20)
序号 | 题目 | 标签 | 难度 | 思路和代码 | 提交日期 | 备注 |
---|---|---|---|---|---|---|
1 | 88. 合并两个有序数组 | 双指针 |
easy |
Java | 5.2 | 复习 |
2 | 937. 重新排列日志文件 | 字符串 排序 |
easy |
Java | 5.3 | 5.3每日一题 |
3 | 2259. 移除指定数字得到的最大结果 | 字符串 |
easy |
py | 5.3 | 291周赛T1(Y) |
4 | 2260. 必须拿起的最小连续卡牌数 | 哈希表 |
medium |
Java | 5.3 | 291周赛T2(Y) |
5 | 2261. 含最多 K 个可整除元素的子数组 | 哈希表 字典树 |
medium |
Java | 5.3 | 291周赛T3(Y) |
6 | 2262. 字符串的总引力 | DP |
hard |
Java | 5.3 | 291周赛T4(N)、需要回看 |
7 | 377. 组合总和 Ⅳ | DP |
medium |
Java | 5.3 | 注意不是完全背包、对比518 |
8 | 1823. 找出游戏的获胜者 | 队列 模拟 |
medium |
Java | 5.4 | 5.4每日一题 |
9 | 713. 乘积小于 K 的子数组 | 滑窗 |
medium |
Java | 5.5 | 5.5每日一题 |
10 | 327. 区间和的个数 | 树状数组 归并排序 有序集合 |
hard |
Java | 5.5 | 重点学习 |
11 | 933. 最近的请求次数 | 队列 |
easy |
Java | 5.6 | 5.6每日一题 |
12 | 209. 长度最小的子数组 | 滑窗 前缀和 二分 |
medium |
Java | 5.6 | 复习 |
13 | 433. 最小基因变化 | BFS 哈希表 |
medium |
Java | 5.7 | 5.7每日一题 |
14 | 718. 最长重复子数组 | DP 滑窗 |
medium |
Java | 5.7 | 复习、滑窗很赞 |
15 | 1143. 最长公共子序列 | DP |
medium |
Java | 5.7 | 复习、对比718 |
16 | 91. 解码方法 | DP |
medium |
Java | 5.7 | 复习 |
17 | 442. 数组中重复的数据 | 哈希表 |
medium |
Java | 5.8 | 5.8每日一题 |
18 | 2264. 字符串中最大的 3 位相同数字 | 字符串 |
easy |
Java | 5.8 | 292周赛T1(Y) |
19 | 2265. 统计值等于子树平均值的节点数 | DFS |
medium |
Java | 5.8 | 292周赛T2(Y) |
20 | 2266. 统计打字方案数 | DP |
medium |
Java | 5.8 | 292周赛T3(Y)、类似91 |
5.9-5.15(6+7+3=16)
序号 | 题目 | 标签 | 难度 | 思路和代码 | 提交日期 | 备注 |
---|---|---|---|---|---|---|
1 | 942. 增减字符串匹配 | 贪心 双指针 |
easy |
Java | 5.9 | 5.9每日一题 |
2 | 1208. 尽可能使字符串相等 | 滑窗 前缀和 二分 |
medium |
Java | 5.9 | 复习、209镜像问题 |
3 | 424. 替换后的最长重复字符 | 滑窗 |
medium |
Java | 5.9 | 复习、进一步理解 |
4 | 111. 二叉树的最小深度 | 二叉树 DFS |
easy |
Java | 5.10 | 复习 |
5 | 110. 平衡二叉树 | 二叉树 DFS |
easy |
Java | 5.10 | 复习 |
6 | 449. 序列化和反序列化二叉搜索树 | 二叉搜索树 DFS BFS |
medium |
Java | 5.11 | 5.11每日一题 |
7 | 105. 从前序与中序遍历序列构造二叉树 | 二叉树 DFS 分治 |
medium |
Java | 5.11 | 复习 |
8 | 4. 寻找两个正序数组的中位数 | 二分 |
hard |
Java | 5.11 | 复习 |
9 | 944. 删列造序 | 字符串 |
easy |
Java | 5.12 | 5.12每日一题 |
10 | 32. 最长有效括号 | 栈 DP |
hard |
Java | 5.12 | 复习 |
11 | 面试题 01.05. 一次编辑 | 双指针 |
medium |
Java | 5.13 | 5.13每日一题 |
12 | 691. 贴纸拼词 | DP BFS |
hard |
Java | 5.14 | 5.14每日一题 |
13 | 812. 最大三角形面积 | 几何 |
easy |
Java | 5.15 | 5.15每日一题 |
14 | 2273. 移除字母异位词后的结果数组 | 字符串 |
easy |
Java | 5.15 | 293周赛T1(Y) |
15 | 2274. 不含特殊楼层的最大连续楼层数 | 数组 |
medium |
Java | 5.15 | 293周赛T2(Y) |
16 | 2275. 按位与结果大于零的最长组合 | 位运算 |
medium |
Java | 5.15 | 293周赛T3(Y) |
5.16-5.22(4+10+2=16)
序号 | 题目 | 标签 | 难度 | 思路和代码 | 提交日期 | 备注 |
---|---|---|---|---|---|---|
1 | 面试题 04.06. 后继者 | 二叉搜索树 DFS |
medium |
Java | 5.16 | 5.16每日一题 |
2 | 953. 验证外星语词典 | 字符串 哈希表 |
easy |
Java | 5.17 | 5.17每日一题 |
3 | 56. 合并区间 | 数组 排序 |
medium |
Java | 5.17 | 复习、经典题 |
4 | 378. 有序矩阵中第 K 小的元素 | 二分 归并排序 |
medium |
Java | 5.18 | 复习 |
5 | 668. 乘法表中第k小的数 | 二分 |
hard |
Java | 5.18 | 5.18每日一题 |
6 | 453. 最小操作次数使数组元素相等 | 数组 |
easy |
Java | 5.19 | |
7 | 462. 最少移动次数使数组元素相等 II | 数学 排序 |
medium |
Java | 5.19 | 5.19每日一题 |
8 | 436. 寻找右区间 | 二分 |
medium |
Java | 5.20 | 5.20每日一题 |
9 | 2276. 统计区间中的整数数目 | 有序集合 线段树 |
hard |
Java | 5.20 | 293周赛T4(N) |
10 | 961. 在长度 2N 的数组中找出重复 N 次的元素 | 数学 随机选择 |
easy |
Java | 5.21 | 5.21每日一题 |
11 | 57. 插入区间 | 数组 |
medium |
Java | 5.21 | 复习 |
12 | 2278. 字母在字符串中的百分比 | 字符串 |
easy |
Java | 5.22 | 294周赛T1(Y) |
13 | 2279. 装满石头的背包的最大数量 | 贪心 |
medium |
Java | 5.22 | 294周赛T2(Y) |
14 | 2280. 表示一个折线图的最少线段数 | 几何 |
medium |
Java | 5.22 | 294周赛T3(Y) |
15 | 486. 预测赢家 | DP 递归 博弈 |
medium |
Java | 5.22 | 复习 |
16 | 464. 我能赢吗 | DP 状态压缩 记忆化搜索 |
medium |
Java | 5.22 | 5.22每日一题 |
5.23-5.29(4+5+1=10)
这周基本都在忙答辩的事情,所以没怎么刷题,好在结束了,6月份多刷一点,同时也要回顾做过的题目,加油
序号 | 题目 | 标签 | 难度 | 思路和代码 | 提交日期 | 备注 |
---|---|---|---|---|---|---|
1 | 907. 子数组的最小值之和 | 单调栈 |
medium |
Java | 5.23 | 2281前置题 |
2 | 2281. 巫师的总力量和 | 单调栈 |
hard |
Java | 5.23 | 294周赛T4(N) |
3 | 965. 单值二叉树 | 树 DFS |
easy |
Java | 5.24 | 5.24每日一题 |
4 | 67. 二进制求和 | 字符串 位运算 |
easy |
Java | 5.24 | 复习 |
5 | 467. 环绕字符串中唯一的子字符串 | 字符串 |
medium |
Java | 5.25 | 5.25每日一题 |
6 | 1021. 删除最外层的括号 | 栈 字符串 |
easy |
Java | 5.28 | 5.28每日一题 |
7 | 468. 验证IP地址 | 字符串 |
medium |
Java | 5.29 | 5.29每日一题 |
8 | 6078. 重排字符形成目标字符串 | 字符串 |
easy |
Java | 5.29 | 295周赛T1(Y) |
9 | 6079. 价格减免 | 字符串 |
medium |
Java | 5.29 | 295周赛T2(Y) |
10 | 6080. 使数组按非递减顺序排列 | 单调栈 |
medium |
Java | 5.29 | 295周赛T3(N)、需要回看 |
5.30-6.5(3+8+5=16)
序号 | 题目 | 标签 | 难度 | 思路和代码 | 提交日期 | 备注 |
---|---|---|---|---|---|---|
1 | 1022. 从根到叶的二进制数之和 | 树 DFS |
easy |
Java | 5.30 | 5.30每日一题 |
2 | 2267. 检查是否有合法括号字符串路径 | DP |
hard |
Java | 5.30 | 292周赛T4(N) |
3 | 2290. 到达角落需要移除障碍物的最小数目 | BFS |
hard |
Java | 5.30 | 295周赛T4(N) |
4 | 剑指 Offer II 114. 外星文字典 | 拓扑排序 |
hard |
Java | 5.31 | 5.31每日一题 |
5 | 473. 火柴拼正方形 | 回溯 DP 状态压缩 |
medium |
Java | 6.1 | 6.1每日一题 |
6 | 450. 删除二叉搜索树中的节点 | 二叉搜索树 |
medium |
Java | 6.2 | 6.2每日一题 |
7 | 658. 找到 K 个最接近的元素 | 二分 双指针 优先队列 |
medium |
Java | 6.2 | 复习 |
8 | 829. 连续整数求和 | 数学 枚举 |
hard |
Java | 6.3 | 6.3每日一题 |
9 | 929. 独特的电子邮件地址 | 字符串 |
easy |
Java | 6.4 | 6.4每日一题 |
10 | 31. 下一个排列 | 数组 双指针 |
medium |
Java | 6.4 | 复习 |
11 | 40. 组合总和 II | 回溯 |
medium |
Java | 6.4 | 复习 |
12 | 478. 在圆内随机生成点 | 几何 拒绝采样 |
medium |
Java | 6.5 | 6.5每日一题 |
13 | 6090. 极大极小游戏 | 数组 |
easy |
Java | 6.5 | 296周赛T1(Y) |
14 | 6091. 划分数组使最大差为 K | 数组 |
medium |
Java | 6.5 | 296周赛T2(Y) |
15 | 6092. 替换数组中的元素 | 哈希表 |
medium |
Java | 6.5 | 296周赛T3(N) |
16 | 6093. 设计一个文本编辑器 | 链表 |
hard |
Java | 6.5 | 296周赛T4(Y) |
6.6-6.12(3+11+2=16)
序号 | 题目 | 标签 | 难度 | 思路和代码 | 提交日期 | 备注 |
---|---|---|---|---|---|---|
1 | 729. 我的日程安排表 I | 二分 有序集合 |
medium |
Java | 6.6 | |
2 | 875. 爱吃香蕉的珂珂 | 二分 |
medium |
Java | 6.7 | 6.7每日一题 |
3 | 2064. 分配给商店的最多商品的最小值 | 二分 |
medium |
Java | 6.7 | 类似875 |
4 | 41. 缺失的第一个正数 | 哈希表 |
hard |
Java | 6.7 | 复习 |
5 | 50. Pow(x, n) | 快速幂 数学 |
medium |
Java | 6.7 | 复习 |
6 | 1037. 有效的回旋镖 | 几何 |
easy |
Java | 6.8 | 6.8每日一题 |
7 | 342. 4的幂 | 数学 |
easy |
Java | 6.8 | 复习 |
8 | 15. 三数之和 | 双指针 |
medium |
Java | 6.8 | 复习 |
9 | 497. 非重叠矩形中的随机点 | 有序集合 二分 前缀和 |
medium |
Java | 6.9 | 6.9每日一题 |
10 | 2187. 完成旅途的最少时间 | 二分 |
medium |
Java | 6.9 | 2064同类题 |
11 | 115. 不同的子序列 | DP |
hard |
Java | 6.10 | 复习 |
12 | 926. 将字符串翻转到单调递增 | DP |
medium |
Java | 6.11 | 6.11每日一题 |
13 | 890. 查找和替换模式 | 哈希表 字符串 |
medium |
Java | 6.12 | 6.12每日一题 |
14 | 5259. 计算应缴税款总额 | 数组 |
easy |
Java | 6.12 | 297周赛T1(Y) |
15 | 5270. 网格中的最小路径代价 | DP |
medium |
Java | 6.12 | 297周赛T2(Y) |
16 | 5289. 公平分发饼干 | DP DFS |
medium |
Java | 6.12 | 297周赛T3(N) |
6.13-6.19(4+10+5=19)
序号 | 题目 | 标签 | 难度 | 思路和代码 | 提交日期 | 备注 |
---|---|---|---|---|---|---|
1 | 1051. 高度检查器 | 计数排序 |
easy |
Java | 6.13 | 6.13每日一题 |
2 | 1365. 有多少小于当前数字的数字 | 计数排序 |
easy |
Java | 6.13 | 复习 |
3 | 498. 对角线遍历 | 矩阵 |
medium |
Java | 6.14 | 6.14每日一题 |
4 | 940. 不同的子序列 II | DP |
hard |
Java | 6.14 | |
5 | 264. 丑数 II | 多路归并 |
medium |
Java | 6.14 | 复习 |
6 | 719. 找出第 K 小的数对距离 | 二分 双指针 |
hard |
Java | 6.15 | 6.15每日一题 |
7 | 523. 连续的子数组和 | 前缀和 数学 |
medium |
Java | 6.15 | 复习 |
8 | 76. 最小覆盖子串 | 滑窗 |
hard |
Java | 6.15 | 复习 |
9 | 532. 数组中的 k-diff 数对 | 双指针 哈希表 |
medium |
Java | 6.16 | 6.16每日一题 |
10 | 567. 字符串的排列 | 滑窗 双指针 |
medium |
Java | 6.16 | 复习 |
11 | 1089. 复写零 | 双指针 |
easy |
Java | 6.17 | 6.17每日一题 |
12 | 79. 单词搜索 | 回溯 |
medium |
Java | 6.17 | 复习 |
13 | 剑指 Offer II 029. 排序的循环链表 | 链表 |
medium |
Java | 6.18 | 6.18每日一题 |
14 | 10. 正则表达式匹配 | DP 递归 |
hard |
Java | 6.18 | 复习 |
15 | 508. 出现次数最多的子树元素和 | DFS 哈希表 |
medium |
Java | 6.19 | 6.19每日一题 |
16 | 2309. 兼具大小写的最好英文字母 | 字符串 |
easy |
Java | 6.19 | 298周赛T1(Y) |
17 | 2310. 个位数字为 K 的整数之和 | 贪心 数学 |
medium |
Java | 6.19 | 298周赛T2(Y) |
18 | 2311. 小于等于 K 的最长二进制子序列 | 字符串 |
medium |
Java | 6.19 | 298周赛T3(Y) |
19 | 2312. 卖木头块 | DP |
hard |
Java | 6.19 | 298周赛T4(N) |