题目:对于一个有正有负的整数数组,请找出总和最大的连续数列。
给定一个int数组A和数组大小n,请返回最大的连续数列的和。保证n的大小小于等于3000。
测试样例:
[1,2,3,-6,1]
返回:6
解析:暴力求解该题,会gg的,还是乖乖的想其他的办法,dp问题。
public class MaxSum {
public int getMaxSum(int[] A, int n) {
int max=A[0];
int sum=A[0];
for(int i=1;i<n;i++){
sum=Math.max(A[i], A[i]+sum);
max=Math.max(sum, max);
}
return max;
}
}