123. 买卖股票的最佳时机 III
/*** @param {number[]} prices* @return {number}*/
var maxProfit = function(prices) {if(prices.length===1) return 0;let init=null/**dp[i][0]: 无操作; dp[i][1]: 第一次买入;dp[i][2]: 第一次卖出;dp[i][3]: 第二次买入;dp[i][4]: 第二次卖出;*/const dp=new Array(5).fill(init)dp[1]=-prices[0]dp[3]=-prices[0]for(let i=1;i<prices.length;i++){dp[1]=Math.max(dp[1],dp[0]-prices[i])dp[2]=Math.max(dp[2],dp[1]+prices[i])dp[3]=Math.max(dp[3],dp[2]-prices[i])dp[4]=Math.max(dp[4],dp[3]+prices[i])}return dp[4]
};
// let prices = [3,3,5,0,0,3,1,4]
let prices = [1,2]
console.log(maxProfit(prices))
…v