代码随想录算法训练营第50天|动态规划part11

8.16周三

  • 123.买卖股票的最佳时机III
  • 188.买卖股票的最佳时机IV

详细布置

123.买卖股票的最佳时机III

题目:最多买卖两次

题解:
1、

dp[i][0]没有操作 (其实我们也可以不设置这个状态)

dp[i][1]第一次持有股票

dp[i][2]第一次不持有股票

dp[i][3]第二次持有股票

dp[i][4]第二次不持有股票

2、

达到dp[i][1]状态,有两个具体操作:

  • 操作一:第i天买入股票了,那么dp[i][1] = dp[i-1][0] - prices[i]
  • 操作二:第i天没有操作,而是沿用前一天买入的状态,即:dp[i][1] = dp[i - 1][1]

188.买卖股票的最佳时机IV

题目:2次买卖变为最多k次买卖

题解:

1、三维数组:

dp[i][j][0]第j次持有股票

dp[i][j][1]第j次不持有股票

2、两重循环

相关推荐
songx_992 分钟前
leetcode9(跳跃游戏)
数据结构·算法·游戏
小白狮ww30 分钟前
RStudio 教程:以抑郁量表测评数据分析为例
人工智能·算法·机器学习
AAA修煤气灶刘哥31 分钟前
接口又被冲崩了?Sentinel 这 4 种限流算法,帮你守住后端『流量安全阀』
后端·算法·spring cloud
kk”1 小时前
C语言快速排序
数据结构·算法·排序算法
纪元A梦1 小时前
贪心算法应用:基因编辑靶点选择问题详解
算法·贪心算法
3壹2 小时前
数据结构精讲:栈与队列实战指南
c语言·开发语言·数据结构·c++·算法
skytier2 小时前
Construct内报错和定位解决
算法
skytier2 小时前
Ascend print数据落盘使用
算法
etcix2 小时前
dmenux.c: integrate dmenu project as one file
c语言·前端·算法
papership2 小时前
【入门级-算法-6、排序算法:选择排序】
数据结构·算法·排序算法