Java题解;
看着简单,也改了很多次条件
public class Solution {
public int FindGreatestSumOfSubArray(int[] array) {
int maxCur = 0; // 保存返回的结果
if(array.length == 0){
return maxCur;
}
int totalNum = 0; // 保存从某个位置为起点累加所有的数,得到的和
for(int i=0; i<array.length; i++){
// 最大连续子序列的和不一定从第一个元素开始算起
// 当前面的数之和小于当前元素,并且前面数的和为负数时,将当前元素作为新的起点
if(totalNum < array[i] && totalNum < 0){ // *** 这个条件改了很多次
maxCur = array[i];
totalNum = array[i];
}else{
totalNum += array[i];
if(totalNum > maxCur){
maxCur = totalNum;
}
}
}
return maxCur;
}
}
京公网安备 11010502036488号