最大子段算法//n数组b的元素个数
int max_arr(int n,int*b)
{
int i,s=-10000000,sum=0;
for(i=0;i<n;++i)
{
if(s>0)s+=b[i];
else s=b[i];
if(s>sum)sum=s;
}
return sum;
}
最大子矩阵的算法
int max_matrix(int n)
{
int i,j,k,b[200];int sum,max=-1000000 ;
for(i=0;i<n;++i)
{
memset(b,0,sizeof(b));
for(j=i;j<n;++j)
{
for(k=0;k<n;++k)
b[k]+=a[j][k];
sum=max_arr(n,b);
if(sum>max)max=sum;
}
}
return max;
}