16.17 连续数列
给定一个整数数组,找出总和最大的连续数列,并返回总和。
示例:
输入: [-2,1,-3,4,-1,2,1,-5,4]
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。
来源:力扣(LeetCode)
链接:连续数列
class Solution {
public int maxSubArray(int[] nums) {
int max = nums[0];
//表示该节点之前的数之和
int m = 0;
for(int a:nums){
//如果节点之前的数之和小于等于0,则抛弃点之前的数之和,令其为当前节点
if(m<=0){
m = a;
}
//如果节点之前的数之和大于0,则让其加上当前节点
else{
m = a+m;
}
if(m>max){
max = m;
}
}
return max;
}
}