2
* @param {number[]} prices5
var maxProfit = function (prices) {7
let recursiveProfit = (index, buy) => {8
if (index >= prices.length) {11
if (dp[index + "_" + buy]) return dp[index + "_" + buy];13
dp[index + "_" + buy] = Math.max(14
-prices[index] + recursiveProfit(index + 1, 0),15
0 + recursiveProfit(index + 1, 1)17
return dp[index + "_" + buy];19
dp[index + "_" + buy] = Math.max(20
prices[index] + recursiveProfit(index + 2, 1),21
0 + recursiveProfit(index + 1, 0)23
return dp[index + "_" + buy];26
return recursiveProfit(0, 1);