
思路:
寻找连续子序列和最大的子序列。设置两个参数,一个保存当前序列值,另一个保存最大序列值,当前序列值小于0时,让序列值重新计数。为正数时继续累积,如果比最大序列值还大就记录当前值为最大序列值。
实现:
public class Solution {
public int FindGreatestSumOfSubArray(int[] array) {
if(array.length == 0 || array == null){
return 0;
}
int curSum = 0;
int greatestSum = array[0] ;
for(int i = 0; i < array.length ; i++){
if(curSum <= 0){
curSum = array[i] ;
}else{
curSum += array[i] ;
}
if(curSum > greatestSum ){
greatestSum = curSum ;
}
}
return greatestSum ;
}
}
子序列求和算法
本文介绍了一种寻找连续子序列中最大和的算法实现。通过动态调整当前序列值与最大序列值,当当前序列值小于等于0时重新计数,为正数时累积,若当前序列值大于最大序列值则更新最大值。
252

被折叠的 条评论
为什么被折叠?



