码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode #188 Best Time to Buy and Sell Stock IV

时间:2015-04-05 23:27:12      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

题目链接:https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iv/

当 k ≥ prices.size() / 2 时:题目等价于 k 无限大的情形。

当 k < prices.size() / 2 时:

用dp[m][n+1]表示在[0,n]区间,进行了m次买卖操作,获得的最大利润。

 

那么这个利润必为以下几个数据的最大值:

  • dp[m-1][n+1],即在[0,n]区间,进行了m-1次买卖操作,获得的最大利润。
  • dp[m][n],即在[0,n-1]区间,进行了m次买卖操作,获得的最大利润。

    或者是

  • max(dp[m-1][z] + (prices[n] - prices[z]) ),即在[0,z-1]区间,进行了m-1次买卖操作,并且在z时刻进行最后一次买入,在n时刻进行最后一次卖出,获得的最大利润。

而每次循环时n的值是固定的,z < n 的值在不断更新,所以改写为 prices[n] + max(dp[m-1][z] - prices[z])。

Leetcode #188 Best Time to Buy and Sell Stock IV

标签:

原文地址:http://www.cnblogs.com/meowcherry/p/4394879.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!