複雜度O(n)
#include <stdio.h>
int MaxSeqSum(const int A[],int N)
{
int s1,s2,j;
s1 = s2 = 0;
for(j = 0;j < N;j++)
{
s1 += A[j];
if(s1 > s2)
s2 = s1;
else if(s1 < 0)
s1 = 0;
}
return s2;
}
int main()
{
int a[5];
int i;
printf("Please input 5 numbers:\n");
for(i = 0;i < 5;i++)
scanf("%d",&a[i]);
printf("\n");
printf("result is %d\n",MaxSeqSum(a,5));
return 0;
}
輸出結果: