最大子段 ,最大子矩阵 算法
2010-04-22 19:57
204 查看
最大子段算法//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;
}
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;
}
相关文章推荐
- 0013算法笔记——【动态规划】最大子段和问题,最大子矩阵和问题,最大m子段和问题
- 最大子矩阵问题;枚举行的组合,然后利用一维最大子段和的DP算法;
- 最大子段和算法 不同复杂度方法实现
- 最大子段和||最大子矩阵和||最大全1子矩阵||最大全1子正方形||
- 微软算法100题35 求一个矩阵中最大的二维矩阵
- 每天学习一算法系列(32)(求一个矩阵中最大的二维矩阵(元素和最大))
- 51Nod 1051 最大矩阵和(DP—最大子段和变形)
- 从最大子段和问题看算法的优化问题
- 动态规划算法--蛮力算法求最大子段和
- 最大子段和算法
- 求最大子段和的一些算法
- 最大子段和几种算法
- [算法] 求解和值最大子段及绝对值最小子段
- leetcode直方图的最大矩阵算法
- 【算法设计】最大子段和问题
- 求最大子段和的一些算法
- 算法习题45:对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一;;;一个整数数组,长度为n,将其分为m份,使各份的和相等,求m的最大值
- js算法:动态规划-最大公共子串与最大子段和
- 动态规划算法--蛮力算法求最大子段和
- 0013算法笔记——【动态规划】最大子段和问题,最大子矩阵和问题,最大m子段和问题