代码随想录训练营第五十一天| ● 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费 ●总结

309.最佳买卖股票时机含冷冻期 

本题加了一个冷冻期,状态就多了,有点难度,大家要把各个状态分清,思路才能清晰 

视频讲解:动态规划来决定最佳时机,这次有冷冻期!| LeetCode:309.买卖股票的最佳时机含冷冻期_哔哩哔哩_bilibili

代码随想录

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

相对122.买卖股票的最佳时机II ,本题只需要在计算卖出操作的时候减去手续费就可以了,代码几乎是一样的,可以尝试自己做一做。

视频讲解:动态规划来决定最佳时机,这次含手续费!| LeetCode:714.买卖股票的最佳时机含手续费_哔哩哔哩_bilibili

代码随想录

int maxProfit(vector& prices, int fee) {
        if (prices.size() == 0) return 0;
        vector> dp(prices.size(), vector(2, 0));
        dp[0][0] -= prices[0]; // 持股票
        for (int i = 1; i < prices.size(); i++) {
            dp[i][0] = max(dp[i-1][0], dp[i-1][1] - prices[i]);
            dp[i][1] = max(dp[i-1][1], dp[i-1][0] + prices[i] - fee);
        }
        return dp[prices.size()-1][1];
    }

 股票总结 

股票问题做一个总结吧

代码随想录

你可能感兴趣的:(算法)