最大子序列

請找出在一串有正有負的整數序列中,最大的子序列的總和
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
32this


 

答案:spa

 

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;
    }
相關文章
相關標籤/搜索