day55 动态规划part12 代码随想录算法训练营 714. 买卖股票的最佳时机含手续费

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

我的感悟:

  • 终于能秒1道了

理解难点:

  • 跟之前一样,多了一个手续费而已

听课笔记:

我的代码:

class Solution:
    def maxProfit(self, prices: List[int], fee: int) -> int:
        # 简单
        dp = [[0] *2 for _ in range(len(prices))]
        # 初始化
        dp[0][0] = -prices[0]
        dp[0][1] = 0
        # 遍历
        for i in range(1,len(prices)):
            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[-1][1]

通过截图:

老师代码:

扩展写法:

资料:

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

视频讲解:https://www.bilibili.com/video/BV1z44y1Z7UR

https://programmercarl.com/0714.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA%E5%90%AB%E6%89%8B%E7%BB%AD%E8%B4%B9%EF%BC%88%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%EF%BC%89.html

posted @ 2024-03-05 12:35  o蹲蹲o  阅读(4)  评论(0编辑  收藏  举报