/** * @param {number[]} prices * @param {number} fee * @return {number} */ const maxProfit = (prices, fee) => { let free = 0, hold = -prices[0]; for (let i = 0; i < prices.length; i++) { tmp = hold; hold = Math.max(hold, free - prices[i]) free = Math.max(free, tmp + prices[i] - fee) } return free; };