JAVA,求m*n阶矩阵中的2*2阶矩阵和的最大值

题目:输入一个m*n阶矩阵,找出m*n阶矩阵中的二阶矩阵和的最大值

输入样例:

1 2 3 0 4;4 3 5 1 2;3 2 4 7 5

输出样例:

17

------------------------------------------------I am a Dividing line---------------------------------------------

java代码:

import java.util.Scanner;

/**
 * m*n阶矩阵中的2*2阶矩阵和最大值
 *
 * @author ForeverLover
 *
 */
public class Matrix {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int m;
		int n;
		String s = scan.nextLine();
		String[] sa = s.split(";");
		m = sa.length;
		String[][] ss = new String[m][];
		for (int i = 0; i < m; i++)
			ss[i] = sa[i].split(" ");
		n = ss[0].length;
		int[][] array = new int[m][n];
		for (int i = 0; i < m; i++) {
			for (int j = 0; j < n; j++) {
				array[i][j] = Integer.parseInt((ss[i][j]));
			}
		}
		int max = 0;
		for (int i = 0; i < m - 1; i++) {
			int sum = 0;
			for (int j = 0; j < n - 1; j++) {
				sum = array[i][j] + array[i][j + 1] + array[i + 1][j]
						+ array[i + 1][j + 1];
				max = sum >= max ? sum : max;
			}
		}
		System.out.println(max);
	}
}

  

时间: 2024-10-13 14:48:43

JAVA,求m*n阶矩阵中的2*2阶矩阵和的最大值的相关文章

18.n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始, 每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。 当一个数字删除后,从被删除数字的下一个继续删除第m个数字。 求出在这个圆圈中剩下的最后一个数字。

转载请注明出处:http://www.cnblogs.com/wuzetiandaren/p/4263868.html 声明:现大部分文章为寻找问题时在网上相互转载,此博是为自己做个记录记录,方便自己也方便有类似问题的朋友,本文的思想也许有所借鉴,但源码均为本人实现,如有侵权,请发邮件表明文章和原出处地址,我一定在文章中注明.谢谢. 题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始, 每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字). 当一个数字

年年有余之java求余的技巧集合

背景 传说里玉皇大帝派龙王马上降雨到共光一带,龙王接到玉皇大帝命令,立马从海上调水,跑去共光施云布雨,但粗心又着急的龙王不小心把海里的鲸鱼随着雨水一起降落在了共光,龙王怕玉皇大帝责怪,灵机一动便声称他是派鱼到共光,希望百姓可以年年有余,并请求玉皇大帝将这条鱼任命为鱼神,保佑人间太平可以年年有余. 年年有余 java 求余操作初阶 java中也有余的规范[jls-15.17.3],废话不说,直接上代码,从中我们可以学到很多技巧: 例1: int a = 5%3; // 2 int b = 5/3;

java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间

java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类). java.sql.Date是java.util.Date的子类,是一个包装了毫秒值的瘦包装器,允许 JDBC 将毫秒值标识为 SQL DATE 值.毫秒值表示自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数. 为了与 SQL DATE 的定义一致,由 java.sql.Date 实例包装的毫秒值必须通过将时间.分钟.秒和毫

求从10到100中能被3或5整除的数的和

题目 解答 解答一 public class Test {       public static void main(String[] args) {                   int sum = 0;         for (int i = 10; i < 100; i++) {             if (i % 3 ==0 || i % 5 == 0) {                 sum += i;             }         }         

Java线程状态及Thread类中的主要方法

要想实现多线程,就必须在主线程中创建新的线程对象. 任何线程一般具有5种状态,即创建,就绪,运行,阻塞,终止. 创建状态: 在程序中用构造方法创建了一个线程对象后,新的线程对象便处于新建状态,此时,他已经有了相应的内存空间和其他资源,但还处于不可运行状态. 就绪状态: 新建线程对象后,调用该线程的start()方法可以启动线程.当线程启动时,线程进入就绪状态.此时,线程将进入线程队列排队,等待CPU服务,这表明它已经具备了运行条件.-------(运行start()方法只是进入就绪状态,并没有开

ubuntu安装jdk后,程序“java”已包含在下列软件包中

在root下一切正常,在当前用户下就出现了问题.如下所示:  java -version 程序“java”已包含在下列软件包中: * gcj-4.4-jre-headless * openjdk-6-jre-headless * cacao * gij-4.3 * jamvm请尝试:sudo apt-get install <选定的软件包> 解决方法:(手动设置系统默认JDK) 在终端中依次输入命令: jdk1.6.0_26 sudo update-alternatives --install

java编程思想第四版中net.mindview.util包下载,及源码简单导入使用

在java编程思想第四版中需要使用net.mindview.util包,大家可以直接到http://www.mindviewinc.com/TIJ4/CodeInstructions.html 去下载,并按照所在页面的操作进行操作.当然也可以直接我下载下面的链接,下载的直接是JAR包,可以直接导入并使用: net.mindview.util包:百度网盘:点击下载  密码: ggpi java编程思想第四版源码:百度网盘:点击下载  密码: ur3e 下面我简单的介绍一下源码在Eclipse中的导

Java利用POI导入导出Excel中的数据

     首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地址http://poi.apache.org/download.html,有兴趣的朋友也可以去看看其中的API.      下面分享一下在对POI进行基本操作时觉得需要注意的两点:       1.POI中针对xlsx/xls是需要create different Workbook instance

java求两个集合的差集

public static void main(String[] args) {Set set = new HashSet();Set set1 = new HashSet();set.add("sanny");set.add("mary");set.add("bill");set.add("tom");set.add("tony");set.add("mark");set.add(&q