二维数组

要求:求一个二维数组的最大子数组和

思路:对于这个题,我会最简单的读取,虽然在网上查到了代码,但是查找最大子数组的循环我真的看不懂,也不是特别懂思路,所以在这不会写思路

 

package 二维数组;
import java.util.*;public class Tarray {static Scanner scanner = new Scanner(System.in);public static void main(String args[]){int m,n;int b;Scanner scanner = new Scanner(System.in);System.out.println("二维数组的列数:");m = scanner.nextInt();System.out.println("二维数组的行数:");n = scanner.nextInt();int arr[][] = new int[n][m];System.out.println("请输入二位数组:");for(int i = 0;i<n;i++)for(int j=0;j<m;j++){arr[i][j] = scanner.nextInt();}System.out.println("\n");b = maxArrSum(arr);System.out.println("最大联通数组的最大和为"+b);}public static int[][] arrSum(int arr[][]){int m = arr.length;int n = arr[0].length;int p[][] = new int[m+1][n+1];p[0][0] = arr[0][0];for(int i=0; i<=m; i++) p[i][0] = 0;for(int i=0; i<=n; i++) p[0][i] = 0;for(int i=1; i<=m; i++){for(int j=1; j<=n; j++){p[i][j] = p[i-1][j] + p[i][j-1] + arr[i-1][j-1] - p[i-1][j-1];}}return p;}//遍历所有二维数组的矩形区域static int  maxArrSum(int arr[][]){int m = arr.length;int n = arr[0].length;int p[][] = arrSum(arr);int ans = Integer.MIN_VALUE;for(int i=1; i<=m; i++){for(int j=1; j<=n; j++){for(int endi=i; endi <=m; endi++){for(int endj=j; endj<=n; endj++){    int sum = p[endi][endj] - p[i-1][endj] - p[endi][j-1] + p[i-1][j-1];if(ans < sum) ans = sum;    }}    }    }    return ans;    }}


实验截图:       

实验总结:这个程序是网上的,除了循环的算法,其他的是我自己写的,但是我并不是没有收获,在测试打印读取的数组的时候,发现了数组越界的问题,彻底地理解了这个错误,还有打印二位数组需要循环打印,不能直接打印,这是我得到的收获,虽然没能理解算法的循环。但是也有其他的收获,这份代码没有白学

 

转载于:https://www.cnblogs.com/ljm-zsy/p/10590946.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249427.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

资源

资源链接&#xff1a; 内存池TinySTLminiSTLcghSTL1. lishuhuakai 2. 转载于:https://www.cnblogs.com/sunbines/p/9707483.html

Android判断应用或Activity是否存在

一、根据包名判断应用是否存在public boolean checkApplication(String packageName) { if (packageName null || "".equals(packageName)){ return false; } try { ApplicationInfo info getPackageManager().getApplicationInfo(packageName, PackageManager.GET…

vue ref

https://www.jianshu.com/p/623c8b009a85

033 Url中特殊字符的处理

在url跳转页面的时候&#xff0c;参数值中的#不见了&#xff0c;一直没有处理&#xff0c;今天有空看了一下&#xff0c;后来发现后台的过滤器之类的都没有处理&#xff0c;就比较奇怪了&#xff0c;原来是特殊字符的问题。 一&#xff1a;Url中的特殊字符 1.说明 这里还是需要…

Effective Java(1)-创建和销毁对象

Effective Java&#xff08;1&#xff09;-创建和销毁对象 转载于:https://www.cnblogs.com/Johar/p/10556218.html

什么是Affinity

什么是Affinity 在某些情况下&#xff0c;Android需要知道一个Activity属于哪个Task&#xff0c;即使它没有被启动到一个具体的Task里。这是通过任务共用性&#xff08;Affinities&#xff09;完成的。任务共用性&#xff08;Affinities&#xff09;为这个运行一个或多…

vue this

https://blog.csdn.net/cddcj/article/details/80866902

课外书——自控力(斯坦福大学最受欢迎的心理学课程)

01我要做&#xff0c;我不要&#xff0c;我想要&#xff1a;什么是意志力&#xff1f;为什么意志力&#xff1f;为什么意志力至关重要&#xff1f; 核心思想&#xff1a; 意志力实际上是“我要做”、“我不要”和“我想要”这三种力量。它们协同努力&#xff0c;让我们变成更好…

Docker运行GUI软件的方法

转自 https://www.csdn.net/article/2015-07-30/2825340 简介&#xff1a; Docker通过namespace将容器与主机上的网络和运行环境进行了隔离&#xff0c;默认情况下&#xff0c;在容器中运行带界面的软件在外部是看不到的。在这个分享中&#xff0c;将介绍通过共享X11套接字让外…

JS正则表达式验证数字非常全

验证数字的正则表达式集 验证数字&#xff1a;^[0-9]*$ 验证n位的数字&#xff1a;^\d{n}$ 验证至少n位数字&#xff1a;^\d{n,}$ 验证m-n位的数字&#xff1a;^\d{m,n}$ 验证零和非零开头的数字&#xff1a;^(0|[1-9][0-9]*)$ 验证有两位小数的正实数&#xff1a;^[0-9](.[0-9…

VMware VIC

vSphere Integrated Containers - a short intro High-Level view of VCH Networking vSphere Integrated Containers Roles and Personas 参考链接&#xff1a;https://vmware.github.io/vic-product/assets/files/html/1.4/转载于:https://www.cnblogs.com/vincenshen/p/9715…

vue new vue

https://www.jianshu.com/p/5ca5f40e4810

MySQL 之group_concat_max_length Mac 版

用过MySQL的人都知道&#xff0c;group_concat这个函数是有最大值限制的&#xff0c;当超过了最大值就会报错&#xff01; 在window下的处理方法就是修改MySQL的配置文件my.ini&#xff0c;在其中添加 #group_concat_max_len setting group_concat_max_len 1024000000 然…

Locust学习总结分享

简介&#xff1a; Locust是一个用于可扩展的&#xff0c;分布式的&#xff0c;性能测试的&#xff0c;开源的&#xff0c;用Python编写框架/工具&#xff0c;它非常容易使用&#xff0c;也非常好学。它的主要思想就是模拟一群用户将访问你的网站。每个用户的行为由你编写的py…

IDEA系列(四)一部署war 和 war exploded的区别

war模式&#xff1a;将WEB工程以包的形式上传到服务器 &#xff1b; war exploded模式&#xff1a;将WEB工程以当前文件夹的位置关系上传到服务器&#xff1b;&#xff08;1&#xff09;war模式这种可以称之为是发布模式&#xff0c;看名字也知道&#xff0c;这是先打成war包&a…

Vue常用7个属性

https://www.cnblogs.com/bgwhite/p/9297221.html

初始Zookeeper

Zookeeper是一个分布式服务框架&#xff0c;据说是一个比较强大的架构模式&#xff0c;具体我也不甚了解&#xff0c;但是最近由于工作上的原因&#xff0c;需要部署一个Zookeeper服务&#xff0c;实现移动端一个简单的发单、抢单功能。于是我便开始了解这个框架&#xff0c;将…

开发进度

项目名称&#xff1a;信息技术手册查重错误比对分析 功能概述&#xff1a; &#xff08;1&#xff09; 数据导入&#xff1a;要求将提供的信息技术手册文档倒入数据库中 方法&#xff1a; 将word文档中的内容复制到text中&#xff0c;利用notepad打开&#xff0c;利用正则表达…

Solr的安装和使用

安装 CentOS中先安装好Java和Tomcat。准备工具IK Analyzer 2012FF 和Solr-4.10.3.tgz 将solr-4.10.3文件夹中dist中的solr-4.10.3.war文件复制到Tomcat的webapps&#xff0c;并且更名为solr.war&#xff0c;下开启tomcat解压后再关闭tomcat&#xff0c;再删除solr.war。 将Solr…

springboot工程打包时将application.properties放在jar包外

https://blog.csdn.net/luckyzsion/article/details/83743604