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来做一遍