LeetCode
文章平均质量分 66
oj
Ypuyu
Ypuyu
展开
-
[LeetCode] LeetCode题解汇总
每日一题嗯,也就没事刷会力扣~全部收集到我的 LeetCode 同名专栏,部分经典问题会针对性收集到 算法与数据结构基础 子专栏。查找题目建议 Ctrl+F若链接有误,希望能够私信博主~~我会及时修改,十分感谢各位同学的帮助!!!如若能够帮到你,我很高兴。每日一题CSND博客详解链接:题目分类注意M94. 二叉树的中序遍历二叉树经典M129. 求根到叶子节点数字之和二叉树+dfsM143. 重排链表链表反转+链表M144. 二叉树的前序遍历原创 2020-10-29 21:16:47 · 504 阅读 · 1 评论 -
[M贪心] lc2207. 字符串中最多数目的子序列(模拟+贪心+一次遍历+代码细节+思维)
基于上述思路,能很快的写出简洁的代码。原创 2024-09-24 02:28:24 · 637 阅读 · 0 评论 -
[M滑动窗口] lc3297、lc3298. 统计重新排列后包含另一个字符串的子字符串数目 I、II(滑动窗口+线性优化+周赛416_3++周赛416_4+好题)
这个是滑动窗口中很经典的问题了。这里实际上有两种做法,包括。中也提到了有两种做法。这里的 方法二,甚至比。原创 2024-09-23 03:21:46 · 899 阅读 · 0 评论 -
[M二分答案] lc3296. 移山所需的最少秒数(二分答案+周赛416_2+好题)
值得注意的是,这里不仅需要二分时间这个答案值,在计算每个工人能挖掘的最大高度的总和时,也是需要通过二分来进行计算的。因为对于限定的 t 时间下,工人最多的挖掘高度无非就是 mountainHeight,工人挖掘速度为 1,那么这里的挖掘高度就等价于工人挖掘的时间。判断它是否在 t 时间内。超过了说明挖不到 mid 高度,反之则可以挖到 mid 高度。同样一道很经典的二分答案问题哈。原创 2024-09-23 02:22:30 · 363 阅读 · 0 评论 -
[Mdp] lc516. 最长回文子序列(区间dp+状态定义+状态转移+好题)
二维 dp 下,不一定需要两个字符串,只需要有两个状态点,加上 选/不选 的问题下,就能 LCS 的状态细分、讨论的手段。本题是个很经典的区间 dp 问题,采用了 LCS 的状态转移讨论方式。区间dp 一道不错的练手题。原创 2024-09-16 20:32:06 · 501 阅读 · 0 评论 -
[Mdp] lc3290. 最高乘法得分(二维dp+状态定义+状态转移+LCS问题+好题+周赛415_2)
挺不错的题目,纠结了一会贪心解法,但是没有什么卵用,证明不出来,代码难写。还是老老实实回归到 dp 求解吧。简洁写法:更容易理解。原创 2024-09-15 13:31:04 · 1069 阅读 · 0 评论 -
[M滑动窗口] lc2555. 两个线段获得的最多奖品(滑动窗口+同向双指针+代码技巧)
挺有意思的一道题目,同向双指针+简单dp 的思想。原创 2024-09-14 21:08:50 · 839 阅读 · 0 评论 -
[M二分答案] lc2576. 求出最多标记下标(二分答案+同向双指针+贪心)
本题还挺有意思的哈。有几种较为直观的贪心思路,却都是错误的。正解思路:二分答案,同向双指针。原创 2024-09-12 23:04:11 · 350 阅读 · 0 评论 -
[Mdp] lc309. 买卖股票的最佳时机含冷冻期(状态机dp+股票买卖模型+经典问题)
强相关,在 状态机 dp 问题上是强相关的。贪心解在此就失效了。体会一下两者的不同。原创 2024-09-11 02:59:37 · 372 阅读 · 0 评论 -
[Mdp] lc1143. 最长公共子序列(lcs+模板题+经典题)
至于有一维优化版本,但不需要考虑这么多哈,重点在时间而非空间,暂时还没遇到非去卡空间的题目。纯模板题,两种讨论方式,不赘述。原创 2024-09-10 00:49:23 · 404 阅读 · 0 评论 -
[Mdp] lc198. 打家劫舍(记忆化搜索+dp)
记忆化搜索可以处理,是自顶向下进行枚举的,属于 递归。思路:dfs 记忆化搜索。动态规划,属于 递推。原创 2024-09-07 02:10:13 · 447 阅读 · 0 评论 -
[Mdfs] lc216. 组合总和 III(组合类型枚举+题目总结+经典)
至于 选不选 的写法,暂时略过吧。原创 2024-09-06 01:59:40 · 271 阅读 · 0 评论 -
[Mdfs] lc131. 分割回文串(子集型枚举+选不选+选不选细节+回文串预处理优化+dp枚举顺序+好题)
子集型回溯的拓展题目,看看如何进行问题转换。以及代码优化,很有价值的一道题目哈。for 循环枚举划分位置。原创 2024-09-05 02:18:08 · 1028 阅读 · 0 评论 -
[M二叉树] lc513. 找树左下角的值(bfs+层序遍历+拓展)
dfs 的思路在此暂不涉及哈。原创 2024-09-04 02:14:26 · 337 阅读 · 0 评论 -
[M二叉树] lc103. 二叉树的锯齿形层序遍历(队列+bfs)
【代码】[M二叉树] lc103. 二叉树的锯齿形层序遍历(队列+bfs)原创 2024-09-04 02:07:40 · 299 阅读 · 0 评论 -
[M排序] lc2860. 让所有学生保持开心的分组方法数(排序+贪心+简洁代码实现+思维)
官解中根据划分长度来考虑会更加合适,即:枚举分组长度为 0、1、2、3、…n 这样子更加合适。包含了这两种特殊的情况。,一开始直接根据下标考虑,直接从下标 0 开始判断,且最终直接来了个 i+1 的判断逻辑,遗漏了这两种情况。有一定的思考难度,不太好归类,就放到 思维 里面吧。具体证明,看靠前题解即可。描述起来有点困难,不赘述。代码实现上需要注意下,原创 2024-09-04 01:19:41 · 276 阅读 · 0 评论 -
[M二叉树] lc236. 二叉树的最近公共祖先(dfs+二叉搜索树)
很经典的题目哈,二刷的时候,再注意下非递归写法吧。原创 2024-09-02 01:58:59 · 417 阅读 · 0 评论 -
[M二叉树] lc235. 二叉搜索树的最近公共祖先(dfs+二叉搜索树)
很经典的题目哈,二刷的时候,再注意下非递归写法吧。原创 2024-09-02 01:40:33 · 472 阅读 · 0 评论 -
[M二叉树] lc98. 验证二叉搜索树(dfs+多方法+前中后序+算法思维)
很经典的题目哈,之前只知道是一个有序序列判断就行了,也没有怎么去深究。灵神讲了三种方法,结合 前中后 序来进行题目处理,也是蛮不错的想法哈。原创 2024-09-02 00:52:14 · 1028 阅读 · 0 评论 -
[M滑动窗口] lc2024. 考试的最大困扰度(滑动窗口+问题转换)
【代码】[M滑动窗口] lc2024. 考试的最大困扰度(滑动窗口+问题转换)原创 2024-09-02 00:41:57 · 275 阅读 · 0 评论 -
[M滑动窗口] lc1004. 最大连续1的个数 III(滑动窗口+模板题)
【代码】[M滑动窗口] lc1004. 最大连续1的个数 III(滑动窗口+模板题)原创 2024-09-02 00:36:14 · 430 阅读 · 0 评论 -
[H贪心] lc3273. 对 Bob 造成的最少伤害(贪心+排序+推公式+双周赛138_4)
因为 tx 做的是除法运算,是会丢弃一部分值的。而如果直接和 damage[y] 乘起来的话,这部分值就会和 damage[y] 作用起来,再除以 power 的话,总量就会大很多,意义就不一样了,故报错。显然我们应该尽可能的将伤害高的先消掉,然后写完代码就会发现 WA 了。想太简单了,那就推推公式看看怎么回事吧。链接:https://leetcode.cn/circle/discuss/3bwuSH/view/bRKOj5/这里实现上有个注意点:我写的时候就遇到这个问题。样例通过,但又 WA 了一遍。原创 2024-09-01 01:25:06 · 972 阅读 · 0 评论 -
[M二叉树] lc199. 二叉树的右视图(dfs+自顶向下+好题)
【代码】[M二叉树] lc199. 二叉树的右视图(dfs+自顶向下+好题)原创 2024-08-31 15:39:56 · 417 阅读 · 0 评论 -
[E二叉树] lc110. 平衡二叉树(dfs+自底向上)
【代码】[E二叉树] lc110. 平衡二叉树(dfs+自底向上)原创 2024-08-31 15:34:19 · 403 阅读 · 0 评论 -
[E二叉树] lc101. 对称二叉树(dfs+自底向上)
【代码】[E二叉树] lc101. 对称二叉树(dfs+自底向上)原创 2024-08-31 15:26:51 · 467 阅读 · 0 评论 -
[E二叉树] lc100. 相同的树(dfs+自底向上)
【代码】[E二叉树] lc100. 相同的树(dfs+自底向上)原创 2024-08-31 15:19:07 · 313 阅读 · 0 评论 -
[E二叉树] lc104. 二叉树的最大深度(dfs+自顶向下)
【代码】[M二叉树] lc104. 二叉树的最大深度(dfs+自顶向下)原创 2024-08-31 12:10:33 · 433 阅读 · 0 评论 -
[M模拟] lc3153. 所有数对中数位不同之和(模拟+按位统计)
简单题,数据范围很小,简单做即可。原创 2024-08-30 01:12:26 · 353 阅读 · 0 评论 -
[M链表] lc237. 删除链表中的节点(链表删除+脑筋急转弯)
本题在我 21年 校招的时候好像还出现过哈哈,不过当时是口述的题目要求。算是一个脑筋急转弯问题吧。原创 2024-08-30 00:08:17 · 382 阅读 · 0 评论 -
[M链表] lc142. 环形链表 II(快慢指针+数学推导+基础题)
这个是很经典的题目哈,简单做的话,直接上哈希表就完事了。反正只会有一个环节点,但实际上背后隐藏着数学做法,可以尝试推导一下。原创 2024-08-29 00:23:52 · 369 阅读 · 0 评论 -
[E链表] lc141. 环形链表(快慢指针+基础题)
【代码】[E链表] lc141. 环形链表(快慢指针+基础题)原创 2024-08-28 23:48:59 · 442 阅读 · 0 评论 -
[E链表] lc876. 链表的中间结点(快慢指针+基础题)
【代码】[E链表] lc876. 链表的中间结点(快慢指针+基础题)原创 2024-08-28 23:42:41 · 396 阅读 · 0 评论 -
[M链表] lc92. 反转链表 II(反转链表+基础题)
反转链表的核心在于 a, b, c 起始位置及终止位置。反转链表的一个小变种,抓住核心即可。原创 2024-08-27 23:48:10 · 363 阅读 · 0 评论 -
[Mdfs] lc690. 员工的重要性(dfs+bfs+离线询问+问题拓展+基础题)
简单题目,直接 dfs 遍历子树每个节点,累加起来对应的值即可。当然,bfs 写法也非常直观,不赘述。原创 2024-08-27 01:20:43 · 447 阅读 · 0 评论 -
[M二分] lc153. 寻找旋转排序数组中的最小值(二分+边界情况+好题)
这也提示我们一个技巧,可以通过一定的边界、情况的特判,将这些易出错的点特殊处理,再去考虑主体代码的实现。一道不错的二分题目。有两种写法,但两种写法的边界情况各不相同,需要考虑清楚。原创 2024-08-27 01:02:19 · 331 阅读 · 0 评论 -
[M二分] lc162. 寻找峰值(二分+思维+好题)
【代码】[M二分] lc162. 寻找峰值(二分+思维+好题)原创 2024-08-26 22:34:40 · 682 阅读 · 0 评论 -
[M模拟] lc3265. 统计近似相等数对 I(模拟+代码实现+分类讨论+周赛412_2)
上面的模拟情况多,容易错…这场周赛并没有参加,补下题。原创 2024-08-25 17:58:32 · 824 阅读 · 0 评论 -
[Mdfs] lc473. 火柴拼正方形(剪枝优化+经典题+好题)
和之前的一个问题一模一样,在此不再赘述,写出来方便搜索。原创 2024-08-25 06:48:50 · 265 阅读 · 0 评论 -
[Mdfs] lc698. 划分为k个相等的子集(剪枝优化+经典题+好题)
本题十分经典、重要。4 大剪枝方法缺一不可。具体的剪枝方法正确性的证明可以去看看。原创 2024-08-25 05:03:10 · 434 阅读 · 0 评论 -
[M双指针] lc209. 长度最小的子数组(双指针+好题)
所以,针对问题,还需要具体分析。原创 2024-08-23 03:17:44 · 421 阅读 · 0 评论