#include "stdio.h"
#include "stdlib.h"
#include "math.h"
#include "string.h"
#define N 100
int MaxSum(int a[N], int n) //计算区间a[0:n-1]上最大子区间长度
{
int i;
int b = 0;
int sum = 0;
for(i=0; i<n; i++) //从区间左边开始,逐渐计算bi
{
if(b>0)
b += a[i];
else
b = a[i];
if(b>sum) //更新最大子区间和
sum = b;
}
return sum;
}
int main()
{
int a[N];
printf("输入元素个数:");
int n;
scanf("%d", &n);
int i;
for(i=0; i<n; i++)
scanf("%d", &a[i]);
int sum = MaxSum(a, n);
printf("%d\n", sum);
return 0;
}
最大子区间和
最新推荐文章于 2022-12-09 13:35:40 发布