zoukankan      html  css  js  c++  java
  • 软件工程课堂三

    求二维数组的矩形数组的最小数组和。

    最笨的设计思想:将这个矩形是两个对角顶点组成的。将两个点设为a,b。a表示上面那个顶点,b表示下面那个顶点。将a固定,移动b点直至出二维数组,然后移动a点,再将b点指向a点。这样轮回直到a移出二维数组。

    package test3;
    public class The_thrid_test {
     public static void main(String[] args) {
      int a[][]= {{-1,2,3,-4},{-1,2,3,-4},{-1,2,3,-4},{-1,2,3,-4}};//表示一个二维数组
      int max = a[0][0];  //初始化最大值
      int sum=0;  //定义每个子二维数组的和
      int as=0,bs=0,n=0,m=0;  //定义让矩形的两个对顶点的角标
      while(n<a.length) {    //如果矩形的第一个顶点出了二维数组时跳出循环
       
       for(int i=n;i<=as;i++) {    //计算以不同数字为矩形第一个顶点的多有子二维数组的和
        for(int j=m;j<=bs;j++) {
         sum+=a[i][j];
        }
       }
       
       //让下面的顶点移动
       bs++;
       if(bs==a[as].length) {
        as++;
        bs=m;
       }
       
       //让上面的顶点移动并将移到外面的顶点指向上面的顶点上。
       if(as==a.length) {
        m++;
        if(m==a[n].length)
        {
         n++;
         m=0;
        }
        as=n;
        bs=m;
       }
       //比较最大值
       if(sum>max)
        max=sum;
       sum=0;
      }
      System.out.println(max);
     }
    }
  • 相关阅读:
    配置支持Basler的API函数的开发环境
    调用约定
    进程间通讯之 命名管道
    进程间通讯。
    使用结构体返回多个参数。
    目的:让目标程序在内存中只有一个实例
    数学问题
    机试二
    pycharm安装TensorFlow
    机器学习一
  • 原文地址:https://www.cnblogs.com/goubb/p/10590756.html
Copyright © 2011-2022 走看看