53.Maximum Subarray
题目
Find the contiguous subarray within an array (containing at least one number) which has the largest sum.
For example, given the array [-2,1,-3,4,-1,2,1,-5,4]
,
the contiguous subarray [4,-1,2,1]
has the largest sum = 6
.
大意
答案
1 | class Solution { |
思路
用SUM记录相加的和,用res记录最后的结果,也就是最大的SUM。将序列中的数字不断的进行相加,如果相加的和小于0,则将则把SUM置为0,重新进行相加,(因为此时前面的都是小于0的,后面的数不管怎么加都是肯定越加越小的,所以把前面的置为0.)
还有就是代码中1的判断要放在2的前面,这样当序列里都是负数的时候,才可以找到最大的负数。
Author: corn1ng
Link: https://corn1ng.github.io/2017/11/12/算法/leetcode53/
License: 知识共享署名-非商业性使用 4.0 国际许可协议