题目描述
{6, -3, -2, 7, -15, 1, 2, 2},连续子数组的最大和为 8(从第 0 个开始,到第 3 个为止)。
代码实现
public class Solution {
public int FindGreatestSumOfSubArray(int[] nums) {
if (nums.length==0 || nums ==null) {
return 0;
}
int Sum = 0;
int max = Integer.MIN_VALUE;
for (int i = 0; i < nums.length; i++) {
if(Sum<=0){ //如果当前连续n项的和小于等于0,则没必要与后面的元素相加
Sum = nums[i]; //Sum重新赋值
}else{
Sum += nums[i]; //如果Sum的值大于0,则继续与后面的元素相加,
}
if(Sum>max){ //每次改变Sum的值都有与max进行比较
max = Sum; //如果Sum的值大于max,则将Sum的值赋值给max
}
}
return max;
}
}