day57 动态规划part14 代码随想录算法训练营 53. 最大子数组和

题目:53. 最大子数组和

我的感悟:

  • 递推公式难想!!

理解难点:

  • 递推公式想错了。

听课笔记:

我的错误的代码:

看完解析后的代码:

class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        #dp定义为以i为结尾的连续最大值
        # dp[i] = max(dp[i-1]+nums[i],nums[i])  # 加上一个新的,还是继续重新出发?
        dp = [0] * len(nums)
        dp[0] = nums[0]
        res = nums[0]
        for i in range(1,len(nums)):
            dp[i] = max(dp[i-1]+nums[i],nums[i])
            res = max(res,dp[i])
        # print(dp)
        return res

通过截图:

代码易错点:

老师代码:

扩展写法:

资料:

这道题我们用贪心做过,这次 再用dp来做一遍 

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

https://programmercarl.com/0053.%E6%9C%80%E5%A4%A7%E5%AD%90%E5%BA%8F%E5%92%8C%EF%BC%88%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%EF%BC%89.html

posted @ 2024-03-07 16:07  o蹲蹲o  阅读(13)  评论(0编辑  收藏  举报