您的位置:首页 > 其它

连续子数组的最大和

2016-06-02 23:50 344 查看
动态规划的思路

f(i)={pData[i]    i=0或者f(i-1)<=0;

f(i-1)+pData[i]  i!=0或者 f(i-1)>0}

如果和小于0,则下一个元素赋值给和。

如果和大于0,则继续加。

int FindGreatestSumOfSubArray(vector<int> array) {
int len=array.size();
if(len==0)
return 0;
int sum=0;
int maxsum=array[0];
for(int i=0;i<len;i++)
{
if(sum<=0)
sum=array[i];
else
sum=sum+array[i];
if(sum>maxsum)
maxsum=sum;
}
return maxsum;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: