给定一个有正有负的整数数组A及其大小n,返回从前往后相加最大的连续数列的和。保证n的大小小于等于3000。
测试样例:
[1,2,3,-6,1]
返回:6
import java.util.*; public class MaxSum { public int getMaxSum(int[] A, int n) { // write code here if (n == 0) { return 0; } int sum = 0; int max_sum = (int) Double.NEGATIVE_INFINITY; for (int i = 0; i < n; i++) { if (sum < 0) { sum = A[i]; }else { sum += A[i]; } if (sum > max_sum) { max_sum = sum; } } return max_sum; } }