解法一:动态规划
自己没想出来。。。
参见官方题解:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/solution/mai-mai-gu-piao-de-zui-jia-shi-ji-han-shou-xu-fei-/
class Solution { public int maxProfit(int[] prices, int fee) { // last保存上一次状态, cur保存当前状态 // 持有股票状态下的最大利润 int lastHold = -prices[0]; // 不持有股票状态下的最大利润 int lastCash = 0; int curHold = lastHold; int curCash = lastCash; for (int i = 1; i < prices.length; ++i) { curCash = Math.max(lastCash, lastHold + prices[i] - fee); curHold = Math.max(lastHold, lastCash - prices[i]); lastCash = curCash; lastHold = curHold; } return Math.max(curHold, curCash); }}