待仔细回顾
weixin_42179093
这个作者很懒,什么都没留下…
展开
-
代码随想录算法训练营 day60|84.柱状图中最大的矩形
42接雨水 是找每个柱子左右两边第一个大于该柱子高度的柱子,而本题是找每个柱子左右两边第一个小于该柱子的柱子。本题是要找每个柱子左右两边第一个小于该柱子的柱子,所以从栈头(元素从栈头弹出)到栈底的顺序应该是从大到小的顺序。原创 2023-09-09 19:51:04 · 123 阅读 · 0 评论 -
代码随想录算法训练营 day59|503.下一个更大元素II、42. 接雨水
可以不扩充nums,在遍历的过程中模拟走两边nums。原创 2023-09-09 16:19:24 · 168 阅读 · 0 评论 -
代码随想录算法训练营 day58|739. 每日温度、496.下一个更大元素
1. 什么时候用单调栈?通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时就要想到可以用单调栈。单调栈的本质是空间换时间,更直白来说,就是用一个栈来记录我们遍历过的元素2. 单调栈里存放的元素是什么?单调栈里只需要存放元素的下标i就可以了,如果需要使用对应的元素,直接T[i]就可以获取。3. 单调栈里元素是递增呢?还是递减呢?顺序是指:栈顶到栈底的顺序。求一个元素右边第一个更大元素,单调栈就是递增求一个元素右边第一个更小元素,单调栈就是递减。原创 2023-09-09 14:50:01 · 155 阅读 · 0 评论 -
代码随想录算法训练营 day57|647. 回文子串、516.最长回文子序列
重点是构造了一个dp[i][j],来表示s字符串i到j是否是一个回文串。原创 2023-09-08 21:59:00 · 127 阅读 · 0 评论 -
代码随想录算法训练营 day56|583. 两个字符串的删除操作、72. 编辑距离
和查找子序列的操作类似,但是考虑的是删除操作。原创 2023-09-08 21:56:30 · 214 阅读 · 0 评论 -
代码随想录算法训练营 day55|392.判断子序列、115.不同的子序列
和最长公共子序列相似,不同之处在于这一道题只有母序列(较长的序列)可以进行删除操作,体现在遍历中就是除了左上方之外,上方和下方只有一个可以转移过来。原创 2023-09-08 21:54:01 · 112 阅读 · 0 评论 -
代码随想录算法训练营 day53|1143.最长公共子序列、1035.不相交的线、53. 最大子序和
【代码】代码随想录算法训练营 day53|1143.最长公共子序列、1035.不相交的线、53. 最大子序和。原创 2023-09-08 21:50:54 · 132 阅读 · 0 评论 -
代码随想录算法训练营 day52|300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组
子序列是可以在不改变原有次序的情况下删除一些元素,需要进行二重遍历进行判断。原创 2023-09-08 21:46:56 · 132 阅读 · 0 评论 -
代码随想录算法训练营 day51| 309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费
这里的每一个状态,例如状态一,是持有股票股票状态并不是说今天一定就买入股票,而是说保持买入股票的状态即:可能是前几天买入的,之后一直没操作,所以保持买入股票的状态。原创 2023-09-08 21:42:07 · 122 阅读 · 0 评论 -
代码随想录算法训练营 day50| 123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV
增加了两次的限制,相应的就是需要考虑的状态改变。原创 2023-09-08 21:33:27 · 112 阅读 · 0 评论 -
代码随想录算法训练营 day48|198.打家劫舍、213.打家劫舍II、337.打家劫舍III
唯一区别就是成环了。分成三种状态:1. 不考虑头尾;其中情况2和3包括了第一种情况,因为DP算法会根据情况考虑要不要加入开头(结尾)。动态规划数组,当前节点偷和不偷的最大收益(dp[2]),二叉树遍历方法:后续遍历。原创 2023-09-08 21:25:06 · 149 阅读 · 0 评论 -
代码随想录算法训练营 day46|139.单词拆分
【代码】代码随想录算法训练营 day46|139.单词拆分。原创 2023-09-06 22:04:06 · 170 阅读 · 0 评论 -
代码随想录算法训练营 day45|70. 爬楼梯 (进阶)、322. 零钱兑换、279.完全平方数
除了常规的可以爬一或二级台阶,当题目稍微修改一下,变成可以爬m级台阶,之前的DP思路就有局限(dp[i] = dp[i-1] + dp[i-2),为了通杀这类问题,可以将题目转换为完全背包问题,可以爬的楼梯级数就是背包中的物品,楼梯总数就是背包,注意例如五级台阶1,2,2和2,2,1是不同的方法,所以类比昨天的组合总数问题,需要先遍历背包,再遍历物品、原创 2023-09-06 21:58:52 · 50 阅读 · 0 评论 -
代码随想录算法训练营 day44 |518. 零钱兑换II、377. 组合总和Ⅳ
和01背包在描述上的区别是:完全背包中的物品可以被无限使用;在代码上的区别是:遍历顺序中都是从小到大遍历,需要注意内外层的嵌套顺序要根据题目适时调整。原创 2023-09-06 21:54:09 · 81 阅读 · 0 评论 -
代码随想录算法训练营 day43 |1049. 最后一块石头的重量II、494. 目标和、474.一和零
将石头重量分成两堆,这两堆的重量要尽可能相近。计算其中一堆的最大重量,因为sum/2向下取整,所以dp[target]肯定是重量较轻的那一堆,最后的答案就是重量较大的那一堆减去dp得到的这一堆,也就是(sum-dp[target]) - dp[target]。原创 2023-09-06 21:39:30 · 45 阅读 · 0 评论