![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
文章平均质量分 75
一束河
这个作者很懒,什么都没留下…
展开
-
动规问题系列复习-股票问题
T1:买卖股票的最佳时机题目要求:只能买卖一次,求最大利润dp数组定义:当前第i天能获得的最大现金dp[i][0]: 表示第i天不持有股票dp[i][1]: 表示第i天持有股票状态转移方程:求最大利润,用最值函数dp[i][0]: 如果前一天不持有股票,则第i天继续保持; 如果前一天持有股票,则第i天卖出股票(这样才能保证第i天的时候是处于无股票状态) dp[i][0] = max(dp[i-1][0] , dp[i-1][1] + prices[i] )dp[i][1原创 2022-04-20 12:00:06 · 108 阅读 · 0 评论 -
动态规划系列总结-打家劫舍问题
问题描述:不能偷相邻房屋线性198 打家劫舍如果打算偷当前房屋i,上一个可以偷的房屋至少是i-2如果偷了上一个房屋, 则当前房屋不能偷dp数组含义: dp[i] 表示 偷盗第i个房屋时,能够偷取的最大值dp[i] = max(dp[i-2]+nums[i], dp[i-1])环形213 打家劫舍II可以将圆环剪断,剪成线性; 和198打家劫舍的区别在于,头尾不能都偷那就一定不能偷尾计算一次; 一定不能偷头计算一次,最后取这两次计算结果的最大值树形337 打家劫舍III这个原创 2022-04-15 14:09:02 · 478 阅读 · 0 评论 -
动态规划系列总结-背包问题
review: 动规问题解决步骤step1: 分析题目属于哪类问题,确定dp数组含义step2: 确定dp状态转移公式step3: 确定dp数组初始化,尤其注意递推公式中的边界值.(初始化需要参考状态转移公式)step4: 确定递推顺序不管是01背包还是完全背包都会出现求背包在某容量下最大值问题/求填满背包的最少物品等最值问题 ; 或 求有多少种方法填满背包等排列或组合问题最值问题最大值问题,初始化为最小值; 最小值问题,初始化为最大值;循环遍历时,比较不放物品和放物品的值那个更大,更新最原创 2022-04-15 12:18:00 · 258 阅读 · 0 评论