时间限制:3秒
空间限制:32768K
热度指数:980
算法知识视频讲解
题目描述
对于一个有正有负的整数数组,请找出总和最大的连续数列。
给定一个int数组A和数组大小n,请返回最大的连续数列的和。保证n的大小小于等于3000。
测试样例:
[1,2,3,-6,1]
返回:6
思路:经典DP题目
代码如下:
class MaxSum {
public:
int getMaxSum(vector<int> A, int n) {
int dp0 = A[0], max = A[0];
for(int i = 1; i < n; i++)
{
if(dp0 + A[i] > A[i])
dp0 = dp0 + A[i];
else
dp0 = A[i];
if(dp0 > max)
max = dp0;
}
return max;
}
};
不懂的可以加我的QQ群:261035036(IT程序员面试宝典
群) 欢迎你的到来哦,看了博文给点脚印呗,谢谢啦~~