問題:給定一個整數數組,其中第i個元素表示第i天的股票價格。可以多次買賣股票,賣出股票後,無法在第二天買入股票。
思路:動态規劃法,用dp(i,j)表示第i天持有或者不持有股票的最大利潤。用dp(i,0)表示不持有,dp(i,1)表示持有。狀态轉移方程為
dp(i,0) = max{dp(i-1,0) , dp(i-1,1) + profit(i)}
dp(i,1)=max{dp(i-1,1), dp(i-2, 0)-profit(i)}
具體代碼參考:
https://github.com/wuli2496/OJ/tree/master/LeetCode/Best%20Time%20to%20Buy%20and%20Sell%20Stock%20with%20Cooldown