和下面的题目类似
- 按照题目意思,估价是
>=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];
};