最大子数组之和
给定一个整型数组a,求出最大连续子段之和,如果和为负数,则按0计算,比如1, 2, -5, 6, 8则输出14
public class MaxSubSum {
public static int calculate(int[] array) {
int max = 0;
int tmp = 0;
for (int i = 0; i <= array.length-1; i++) {
if (tmp + array[i] > 0) {
tmp += array[i];
if (tmp > max) {
max = tmp;
}
} else {
tmp = 0;
}
}
return max;
}
public static void main(String[] args) {
int[] array = {4, -3, 5, 1, -2, 1};
System.out.println(MaxSubSum.calculate(array));
}
}