LeetCode 188. 买卖股票的最佳时机 IV(动态规划)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 188. 买卖股票的最佳时机 IV(动态规划)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
給定一個數組,它的第 i 個元素是一支給定的股票在第 i 天的價格。
設計一個算法來計算你所能獲取的最大利潤。你最多可以完成 k 筆交易。
注意: 你不能同時參與多筆交易(你必須在再次購買前出售掉之前的股票)。
示例 1: 輸入: [2,4,1], k = 2 輸出: 2 解釋: 在第 1 天 (股票價格 = 2) 的時候買入, 在第 2 天 (股票價格 = 4) 的時候賣出,這筆交易所能獲得利潤 = 4-2 = 2 。示例 2: 輸入: [3,2,6,5,0,3], k = 2 輸出: 7 解釋: 在第 2 天 (股票價格 = 2) 的時候買入, 在第 3 天 (股票價格 = 6) 的時候賣出, 這筆交易所能獲得利潤 = 6-2 = 4 。隨后,在第 5 天 (股票價格 = 0) 的時候買入,在第 6 天 (股票價格 = 3) 的時候賣出, 這筆交易所能獲得利潤 = 3-0 = 3 。來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-iv
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
類似題目:
LeetCode 121. 買賣股票的最佳時機
LeetCode 122. 買賣股票的最佳時機 II
LeetCode 123. 買賣股票的最佳時機 III(動態規劃)
LeetCode 309. 最佳買賣股票時機含冷凍期(動態規劃)
LeetCode 714. 買賣股票的最佳時機含手續費(DP)
這道題需要考慮一個 k 非常大的時候,k > n/2 時,就可以看做股票第2題了,無限次數。最多可以交易 min(k, n/2) 次
其他情況跟第3題一樣
- dp[i][k][0]表示第 i 天,經過最多 k 次交易,0不持有股票的最大收益
- dp[i][k][1]表示第 i 天,經過最多 k 次交易,1持有股票的最大收益
16 ms 12.8 MB
總結
以上是生活随笔為你收集整理的LeetCode 188. 买卖股票的最佳时机 IV(动态规划)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 327. 区间和的个数
- 下一篇: LeetCode 366. 寻找二叉树的