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

8.15周二
  •  121. 买卖股票的最佳时机 
  •  122.买卖股票的最佳时机II 

 详细布置 

 121. 买卖股票的最佳时机 

题目:只买卖一次,问最多赚多少

题解:

1、dp[i][0]表示第i天是持有的状态,dp[i][1]表示第i天是不持有的状态。

2、dp[i][0] = max(dp[i-1][0], -prices[i])。第i-1天是持有的状态并且第i天也是持有状态,或者第i天是持有状态(只能买买一次)。

dp[i][1] = max(dp[i-1][1], dp[i-1][0]+prices[i])。第i-1天是不持有的状态并且第i天也是不持有状态,或者第i-1天是持有的状态但是第i天是不持有状态。

3、dp[0][0]=-prices[0]

dp[0][1]=0

 122.买卖股票的最佳时机II  

题目:可多次买卖

题解:不同在于

dp[i][0] = max(dp[i-1][0], dp[i-1][1]-prices[i])

你可能感兴趣的:(算法,动态规划)