- 博客(39)
- 收藏
- 关注
原创 第四十四天:动态规划part11(第九章)
给定整数数组nums,找到一个连续子数组,使其元素和最大,返回该最大和。dp[i]表示以nums[i]结尾的连续子数组的最大和。
2025-08-13 12:09:49
422
原创 算法第四十三天:动态规划第四十三天part10(第九章)
可通过滚动数组优化到 O(min(m,n))O(\min(m, n))O(min(m,n))。第一行、第一列全部为 0(额外加一行一列的 0,避免越界)。mmm 和 nnn 分别为两个数组的长度。结尾的最长公共子数组的长度。保存遍历过程中遇到的最大。2.最长连续递增序列。
2025-08-13 10:25:05
215
原创 算法第四十二天:动态规划part09(第九章)
1.买卖股票的最佳时机Ⅳ188. 买卖股票的最佳时机 IV - 力扣(LeetCode)思路: 这道题目可以说是动态规划:123.买卖股票的最佳时机III (opens new window)的进阶版,这里要求至多有k次交易。动规五部曲,分析如下:在动态规划:123.买卖股票的最佳时机III (opens new window)中,我是定义了一个二维dp数组,本题其实依然可以用一个二维dp数组。使用二维数组 dp[i][j] :第i天的状态为j,所剩下的最大现金是dp[i][j]j的状态表示为:大家应该发现
2025-08-02 15:52:22
679
原创 算法第三十九天:动态规划part07(第九章)
函数dfs(node)(不偷当前节点的最大收益, 偷当前节点的最大收益)即一个二元组,代表该节点为根的子树两种状态下的最大收益。
2025-07-26 17:19:33
277
原创 算法第三十八天:动态规划part06(第九章)
在讲解背包问题的时候,我们都是按照如下五部来逐步分析,相信大家也体会到,把这五部都搞透了,算是对动规来理解深入了。
2025-07-24 22:09:29
972
原创 算法第三十五天--动态规划part03(第九章)
外层:枚举每一个num,表示这个数要不要加入子集。内层:从大到小遍历j(背包容量),防止把同一个num加入多次(0-1 背包必须倒序遍历!
2025-07-22 15:23:57
280
原创 算法第三十二天--动态规划part01(第九章)
Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。本题大家如果没有接触过的话,会感觉比较难,多举几个例子,就可以发现其规律。唯一的区别是,没有讨论dp[0]应该是什么,因为dp[0]在本题没有意义!那么第一层楼梯再跨两步就到第三层 ,第二层楼梯再跨一步就到第三层。爬到第一层楼梯有一种方法,爬到二层楼梯有两种方法。动态规划开始题目比较简单没有很难!
2025-07-13 19:01:59
305
原创 第二十八天:贪心算法part02(第八章)
4.K次取反后最大化的数组和:这题相比之下简单许多。跳跃游戏II:有点绕,需要多理解!1.买卖股票的最佳时机2。
2025-07-10 10:39:05
371
原创 第二十七天:贪心算法part01(第八章)
基本贪心的题目 有两个极端,要不就是特简单,要不就是死活想不出来。,所以大家了解贪心算法 就了解它没有规律的本质就够了。学完贪心之后再去看动态规划,就会了解贪心和动规的区别。我看是谁拖拖拉拉没跟上进度。贪心算法其实就是没有什么规律可言。没有思路就立刻看题解。
2025-07-09 10:25:31
166
原创 算法第二十五天:回溯算法part04(第七章)
1.递增子序列 491. 非递减子序列 - 力扣(LeetCode)思路:而本题求自增子序列,是不能对原数组进行排序的,排完序的数组都是自增子序列了。所以不能使用之前的去重逻辑!回溯 利用set去重 2.全排列 3. 重新安排行程(可跳过) 4.N皇后:困难题目果然名不虚传!但感觉难点是判断isValid和双重数组51. N 皇后 - 力扣(LeetCode)思路: 今天就结束啦!好难!坚持,回溯终于完结了
2025-07-08 14:22:54
247
原创 算法第二十三天--回溯算法part02(第七章)
组合总和II: 跟第一道题的区别是需要将数组排序后去重,今天就到这里啦,最后一道题有些难,后面需要温故而知新!思路跟前一天差不多:但区别是本题元素为可重复选取。第二种写法是使用used。
2025-07-06 12:32:03
159
原创 算法第二十二天--回溯算法part01(第七章)
1.组合带你学透回溯算法-组合问题(对应力扣题目:77.组合)| 回溯法精讲!_哔哩哔哩_bilibili1.1未做剪枝思路:1.2 剪枝优化所以,可以剪枝的地方就在递归中每一层的for循环所选择的起始位置。如果for循环选择的起始位置之后的元素个数 已经不足 我们需要的元素个数了,那么就没有必要搜索了。2.组合总和III216. 组合总和 III - 力扣(LeetCode)新的知识,刚开始接触有点不习惯,慢慢来,才容易理解,不要浮躁,记好笔记,看视频讲解实在不会,但一定要沉下心来。
2025-07-04 11:31:37
428
原创 算法第二十一天:二叉树part08(第六章)
所以中序遍历顺序是:左 → 根 → 右,会正好输出一个升序数组。对于 BST:左子树 < 根节点 < 右子树。二叉树章节终于做完了!而构造 BST 的这个递归过程本身用的是。每次递归构建左右子树,直到数组为空为止。代码比较少,但自己想真的思绪混乱。二叉搜索树要求:左 < 根 < 右。将有序数组转换为二叉搜索树。:先建根,再建左,再建右。,每次都从中间切数组。
2025-07-02 12:32:03
233
原创 算法第二十天--二叉树part07(第六章)
第三题有点难,五种情况,建议搭配视频。二叉搜索树的最近公共祖先:也可用上一道题来解释。3.删除二叉搜索树中的节点。
2025-07-02 09:46:26
178
原创 算法第十八天--二叉树part06(第六章)
二叉搜索树中的众数:有点难,用双指针来做,但在单层遍历的时候有很多条件需要注意。二叉树的最近公共祖先:有点难,建议先看视频。ok,今天就到这里啦!如何运用双指针来做呢。
2025-07-01 10:36:13
188
原创 算法第十七天--二叉树part05(第六章)
3.验证二叉搜索树:我发现我脑子下午就思考不动了,不知道为啥!#返回一个节点实际上就等同于返回以该节点为根的子树。
2025-06-30 16:11:51
188
原创 算法第十六天:二叉树part04(第六章)
从中序与后序遍历序列构造二叉树:有点难的题目。找树左下角的值:层序遍历一点没看答案。路径总和:有点懵,下次继续看,标记。
2025-06-30 11:13:27
171
原创 算法第十五天--二叉树part03(第六章)
还是要在每天早上回顾一下前一天写的博客,不然真的会忘记的!一棵高度平衡二叉树定义为:一个二叉树。思路:在前面求高度的基础上加入了条件。“走过的要记,走完的要撤”二叉树的所有路径(回溯)完全二叉树的节点个数。
2025-06-29 15:28:41
275
原创 算法第十四天--二叉树part2(第六章)
主要练习了二叉树的递归,有些难,加油。.二叉树的最小深度 (优先掌握递归)最小深度:根节点到叶子结点的最小距离。
2025-06-28 17:26:35
233
原创 算法第十三天--二叉树(part01)第六章
self.val = val # 当前节点的值self.left = left # 左子节点(也是 TreeNode)self.right = right # 右子节点(也是 TreeNode)
2025-06-26 17:08:43
921
原创 算法第十天: 栈与队列part01(第五章)
更适合实现队列和复杂结构(如“两个队列实现栈”)分清楚deque()和list的区别。结束啦,拖更了,今天我必须全部更新!最后如何判断队列为空呢?
2025-06-24 10:15:14
324
原创 算法第八天--字符串(part02)-第四章
2.右旋字符串:每次自己写的时候,会发现更难写,还得多练!今天有点浮躁实验不顺利,kmp理解的也不太好,下次加油,共勉!格式化字符串(推荐 f-string)
2025-06-19 17:50:47
292
原创 算法第六天--哈希表part2
3.三数之和:用双指针,三个数都要去重,真的有点绕,建议自己慢慢敲代码后用AI解释。结束啦,心得就是做不来的时候先不要看题解!自己先敲,学会思考!赎金信:思路和昨天的异位词一致,都用到了数组。
2025-06-18 10:18:07
317
原创 算法第二天--滑动窗口(不定长)/螺旋矩阵/区间和
注意: matrix[n // 2][n // 2] = count #这里已经是中心了,python索引从0开始的话。刚开始有点不太明白左边如何维护,while很重要(多次)看了题解,有点做的马马虎虎。
2025-06-12 18:00:34
207
原创 算法第一天:二分查找,双指针(快慢指针,相向指针)
解答:返回的 slow 是新数组的长度, 数组 nums 在函数中被原地修改,力扣输出的nums,这是力扣控制的。刚开始把i写成i++,运行出来的是反顺序的,恍然大悟,把i改成数组长度-1,然后i-- 后顺序就对了!小疑问:为什么我return的slow,输出为什么还会包含nums。
2025-06-11 12:06:59
144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人