求整数数组中连续子序列之和最大值,其中整数数组可以为正数、负数、0
整数数组
连续子序列之和最大值
-2,4,-2,7,-6,-1
9
遍历整个数组,求以位置i结尾的最大连续子序列和,这里分为两种情况:
import java.util.*; public class Main { public int solution(int[] input,int n) { int maxsum, max_before_i; maxsum = max_before_i = input[0]; for (int i=1; i<n; i++) { if (max_before_i <= 0) max_before_i = input[i]; else max_before_i += input[i]; if (max_before_i > maxsum) { maxsum = max_before_i; //更新最大连续子序列和 } } return maxsum; } }