53.最大子序和

1.题目

53.最大子序和

2.解法

53.最大子序和
时间复杂度为O(n), 空间复杂度为O(1)

3.思考

使用的是动态规划的方法,dp[i-1]的状态定下,dp[i]=max[dp[i-1]+nums[i], nums[i]),
这里可以将nums[i]取代,因为我要求最大值。
@1:因为要连续,所以一个接一个计算该段最大值,
max(nums[i]+nums[i-1], nums[i]),要取nums[i]+nums[i-1]做最大值,那么nums[i-1]>0,
这样顺序下去就可以求得每段最大值
@2: 然后用maxSum = Math.max(maxSum, nums[i]),逐一得到连续中的最大值
还有其他题解