java 求数组最大子序列之和

经典问题:

给定一个int[]数组,求其最大子序列之和(条件:数组中不全部都是负数)。

最优算法,线性时间复杂度:

public static int maxSubSum(int[] a){
    int maxSum = 0;
    int thisSum = 0;
    for(int i=0; i<a.length; i++){
        thisSum += a[i];
        if(thisSum > maxSum)
            maxSum = thisSum;
        else if(thisSum<0)
             thisSum = 0;
    }  
     return maxSum;
}
原文地址:https://www.cnblogs.com/shuada/p/3615727.html