力扣之最大子序和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

示例:

输入: [-2,1,-3,4,-1,2,1,-5,4],
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。

从第一个开始
[-2]:------> [-2],第0项
这只有一种情况,最大值为-2
[-2,1]:------>[-2,1],[1],第1项
这里有两种情况,最大值为1
[-2,1,-3]:------>[-2,1,-3],[1,-3],[-3],第2项
这里有三种情况,最大值为-1
我们可以发现,后面每增加一个数字,就是在前一项的基础上,每个数组后面加上这个数字,然后再加上数字本身
例如
[-2,1,-3,4]
就是在第2项的基础上,每项后面加上新增的数字4
[-2,1,-3,4],[1,-3,4],[-3,4]
然后再加上4本身
结果为
[-2,1,-3,4],[1,-3,4],[-3,4],[4]
我们这里用的是动态规划的一个思想
假设数组一个用n项,那么我们就会产生n个数组
我们只需要在这n个数组中找出最优的那个,那就是答案了
力扣之最大子序和