请找出在一串有正有负的整数序列中,最大的子序列的总和
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; }