问题描述:给定N个整数序列,{A1,A2,…,An},求该序列中存在的最大的连续n个整数和。
要解决这个问题,我们很容易想到,可以把所有的连续子列和全部算出来,然后从中找出最大的一个即为所求答案,算法代码如下:
原始代码
int maxSubseqSum1(int A[],int N)
{
int i,j,k;
int ThisSum,MaxSum = 0;
for( i = 0; i<N; i++)
{
/*i是子列左端位置*/
for( j = i; j<N; j++ )
{
/*j是子列右端的位置*/
ThisSum = 0;/*ThisSum是从A[i]到A[j]的子列和*/
for( k = i; k <=j; k++ )
ThisSum += A[k];
if(ThisSum>MaxSum)
MaxSum = ThisSum;
}
}
return MaxSum;
}
这个算法很容易想到,当