题目描述
对于一个有正有负的整数数组,请找出总和最大的连续数列。
给定一个int数组A和数组大小n,请返回最大的连续数列的和。保证n的大小小于等于3000。
测试样例:
[1,2,3,-6,1]
返回:6
class MaxSum {
public:
int getMaxSum(vector<int> A, int n) {
// write code here
int size = A.size();
if(size != n)
return 0;
int dp[n];
int res = A[0];
dp[0] = A[0];
for(int i = 1;i < size;++i)
{
dp[i] = max(A[i],A[i]+dp[i-1]);
res = max(res,dp[i]);
}
return res;
}
};