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

120 阅读1分钟

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

和下面的题目类似

买卖股票最佳时期 - 掘金 (juejin.cn)

  • 按照题目意思,估价是 >=0
  • dp的二维表示持有状态 1 表示持有,0 表示没有持有
  • dp[i][0] 第i-1天卖掉,第i天没有持股的利润
  • dp[i][1] 第i-1每持股,第i天持股利润
var maxProfit = function (prices) {
  var n = prices.length;
  var dp = new Array(n).fill(0).map((v) => new Array(2).fill(0));
  dp[0][0] = 0;
  dp[0][1] = -prices[0];
  for (var i = 1; i < n; i++) {
    var value1 = dp[i - 1][0];
    var value2 = dp[i - 1][1];
    var value3 = prices[i];
    dp[i][0] = Math.max(value1, value2 + value3);
    dp[i][1] = Math.max(value2, value1 - value3);
  }
  return dp[n - 1][0];
};

image.png

image.png