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