#include<iostream>
using namespace std;
#define N 6
int a[N]={-2,11,-4,13,-5,-2};
int MaxSum(int n, int *a)
{
int sum=0, b=0;
for( int i=1;i<=n;i++)
{
if(b>0)
b+=a[i];
else b=a[i];
if(b>sum)
sum=b;
}
return sum;
}
int main()
{
cout<<"最大子段和为:"<<MaxSum(N,a)<<endl;
return 0;
}
数据结构:最大字段和问题-分治思想(c++代码实现)
最新推荐文章于 2022-03-17 23:27:55 发布