您的位置:首页 > 理论基础 > 数据结构算法

数据结构与算法分析——最大的子序列和问题

2015-08-20 11:18 309 查看
最大的子序列和问题

给定整数序列A1,A2,…,An(可能有负数),求子序列和的最大值(为方便起见,如果所有整数均为负数,则最大子序列和为0)。

例:

输入-2,11,-4,13,-5,-2时,最大子序列和为20(A2至A4)。

代码如下

int MaxSubsequenceSum(const int A[], int N)
{
int ThisSum, MaxSum, j;

ThisSum = MaxSum = 0;
for( j = 0; j < N; j++ )
{
ThisSum += A[j];

if(ThisSum > MaxSum)
MaxSum = ThisSum;
else if(ThisSum < 0)
ThisSum = 0;
}
return MaxSum;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: