最大子序列

请找出在一串有正有负的整数序列中,最大的子序列的总和
Input
第一行为序列的个数N
之後有N行序列,每行都有10个数,序列中的每个元素可能为正可能为负
Output
请输出每个序列中可以找出的最大的连续元素(子序列)的和
例如范例中的最後几个元素{19,-12,20,5}相加为32,是整个序列中所能找到的最大的子序列的和
Sample input
1
13 -11 -3 9 -19 -5 19 -12 20 5
Sample output
32


答案:

public static int maxSubSum(List<Integer> a){
        int maxSum = 0;
        int thisSum = 0;
        for(int i=0; i<a.size(); i++){
            thisSum += a.get(i);
            if(thisSum > maxSum)
                maxSum = thisSum;
            else if(thisSum<0)
                 thisSum = 0;
        }  
         return maxSum;
    }
原文地址:https://www.cnblogs.com/bmbi/p/5285721.html