传送带:53. 最大子数组和 - 力扣(LeetCode)、
题目:
给你一个整数数组
nums
,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。
输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。
思路:dp (嗯看到就知道是dp,然后就不会了啊哈哈哈哈)
传送带:经典动态规划问题(理解「无后效性」) - 最大子数组和 - 力扣(LeetCode)
主要就是将题目中分解成n个子问题
子问题1的答案是[-2]
子问题2的答案是1 ([-2,1] = -1, [1] = 1, 1 > -1)
如果子问题i的结果是负数,那子问题i+1可以将子问题i的结果舍弃
如果子问题i的结果是0,那子问题i+1加上子问题i也无任何意义
结果如果子问题i的结果为负数或是0,子问题i+1的答案就是num[i+1]