例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和
public class Solution {
public int FindGreatestSumOfSubArray(int[] array) {
if(array.length == 0||array == null){
return -1;
}
int maxsum = array[0];
//不能初始化为int maxsum = 0;
//因为当数组中值全部为负数时,不满足条件,因为最大的和也会小于0
int cursum = array[0];
for(int i = 1;i<array.length;i++){
cursum = (cursum>0)?cursum+array[i]:array[i];
maxsum = (maxsum<cursum)?cursum:maxsum;
}
return maxsum;
}
}