zoukankan      html  css  js  c++  java
  • 二维数组求最大矩阵

    在上次一维数组求最大子数组的和之后我又做了这次的二维数组最大矩阵之和,代码如下

    #include<iostream.h>
    static int max;

    void qiongju(int juzhen[][4],int ai,int aj,int m,int n)
    {
    int linshi;
    for(int i=ai;i<m;i++)
    {
    for(int j=aj;j<n;j++)
    {
    linshi=0;
    for(int i1=ai;i1<=i;i1++)
    {
    for(int j1=aj;j1<=j;j1++)
    {
    linshi=linshi+juzhen[i1][j1];
    }
    }
    // cout《linshi《endl;
    if(linshi>max)
       {
       max=linshi;
       }
    }
    }
    }
    void main()
    {
    int juzhen[3][4]={{1,4,-6,5},{-6,7,-9,2},{6,4,2,-4}};
    for(int si=0;si<3;si++) //输出矩阵
      {
       for(int sj=0;sj<4;sj++)
       {
       cout《juzhen[si][sj]《" ";
       }
       cout《endl;
      }
      max=juzhen[0][0];
      for(int i=0;i<3;i++) //对每一个值作为子矩阵第一个值分别求和
      {
       for(int j=0;j<4;j++)
       {
       qiongju(juzhen,i,j,3,4);
       }
      }
      cout《"最大子矩阵和为:"《max《endl;

    思路:

    这段程序我实在网上找到的,利用的穷举法,也可以是压榨法,就是把这个矩阵压缩成一个长方形,宽为一,然后在向其他列扩展,之和加起来在比较。

    此次是团队开发,我负责编辑程序。

    合伙人:郎国杰
    }

  • 相关阅读:
    js 计时器小练-20160601
    数位dp入门学习之路(正常枚举“过渡到”dfs枚举)
    An easy problem
    牌型种类 蓝桥杯
    带分数(穷举法) 蓝桥杯赛题
    表达式的转换----->中缀表达式转后缀表达式
    map 的使用
    netsatat 的使用
    两个矩形不相交
    前缀和
  • 原文地址:https://www.cnblogs.com/jump/p/4411911.html
Copyright © 2011-2022 走看看