714. 买卖股票的最佳时机含手续费(leetcode)

https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/

class Solution {
    public int maxProfit(int[] prices, int fee) {
        // f[i][j] 表示前i天进行交易购买,j=0表示持有股票,j=1表示未持有股票,划分两个状态
        // f[i][0] = max(f[i-1][0],f[i-1][1]-prices[i]);
        // f[i][1] = max(f[i-1][1],f[i-1][1]+prices[i]-fee);
        // f[1][0]= 0 - prices[0];
        // f[1][1] = 0;
        int[][] f = new int[prices.length+1][2];
        f[1][0]=-prices[0];
        for(int i=2;i<=prices.length;i++)
        {
            f[i][0]=Math.max(f[i-1][0],f[i-1][1]-prices[i-1]);
            f[i][1]=Math.max(f[i-1][1],f[i-1][0]+prices[i-1]-fee);
        }
        return f[prices.length][1];
    }
}

 

posted @ 2024-09-07 13:52  风乐  阅读(10)  评论(0)    收藏  举报