- 博客(7)
- 收藏
- 关注
原创 代码随想录day50【动态规划】买卖股票的最佳时机III
dp[i][3]=max(dp[i-1][3],dp[i-1][2]-prices[i])//延续前一天的状态(持有),或第一次不持有的状态,买入)注意这个。dp[i][4]=max(dp[i-1][4],dp[i-1][3]+prices[i])//延续前一天的状态(持有),或第二次持有的状态,卖出)注意这个。dp[i][0] 不操作(其实可以不用,因为没用到)dp[i][2]第一次不持有。dp[i][4]第二次不持有。dp[i][1]第一次持有。dp[i][3]第二次持有。递推公式改为:用变量表示。
2023-04-11 17:17:28
118
1
原创 代码随想录day48【动态规划】买卖股票的最佳时机 买卖股票的最佳时机II
dp[i][0]=Math.max(dp[i-1][0],dp[i-1][1]-prices[i]) //体现在dp[i-1][1]-prices[i]dp[i][1]=max(dp[i-1][1],dp[i][0]+price[i])//状态与前一个状态一致, 或在第i天卖出这个股票。dp[i][0]=max(dp[i-1][0],-price[i])// 状态与前一个状态一致, 或在第i天买入这个股票。dp[i][0]: 持有股票的最大收益。dp[i][1]:不持有股票的最大收益。
2023-04-11 15:17:27
74
1
原创 代码随想录day48【动态规划】打家劫舍 打家劫舍II 打家劫舍III
偷:dp[i-2]+nums[i]。不能偷i-1房间的,因为相邻。由递推公式,可看出i>=2,因此需要初始化dp[0],dp[1]但2,3情况包含情况1。因此,最终所求应为2,3情况取最大值。与打家劫舍的区别:最后一个房间,若选择,则第一个房间不能选。dp含义:考虑偷下标为0-i的房间时,能偷的最大金额。不偷:dp[i-1]
2023-04-11 11:56:56
117
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人