文档章节

输入一个四行五列的矩阵,找出每列最大的两个数

随风1993
 随风1993
发布于 2017/05/25 17:12
字数 410
阅读 10
收藏 0

import java.util.Scanner;

/**
 * @author tj
 * 
题目描述:
        输入一个四行五列的矩阵,找出每列最大的两个数。
输入:
        输入第一行包括一个整数n(1<=n<=1000),接下来的四行每行包括五个整数。代表一个四行五列的矩阵,矩阵元素全部是整数。
输出:
        可能有多组测试数据,对于每组数据,按照样例输出的格式将每列最大的两个数输出,如果最大的两个数中的一个数在这一列中有多个相同的值,则行值取行值小的那一个。
        输出时要保留原矩阵的行列顺序,即在原矩阵中行值小的,在输出矩阵中的行值依然小。
样例输入:
    1
    1  2   4  9  8
    -1  4  9  8  8
    12  9  8  7  0
    7   8  9  7  0
样例输出:
    12 9 9 9 8 
    7 8 9 8 8 


 */
public class FindMax {
    
    public static void main(String[] args){
        Scanner cin = new Scanner(System.in);
        while(cin.hasNext()){
            int n = cin.nextInt();
            
            for(int i=0;i<n;i++){
                int[][] mar = new int[4][5];
                for(int j=0;j<4;j++){
                    for(int k=0;k<5;k++){
                        mar[j][k] = cin.nextInt();
                    }
                }
                
                int[] maxs = new int[5];
                for(int j=0;j<5;j++){
                    int max = mar[0][j];
                    for(int k=0;k<4;k++){
                        if(mar[k][j]>max){
                            max = mar[k][j];
                        }
                    }
                    maxs[j] = max;
                }
                
                int[] maxs2 = new int[5];
                for(int j=0;j<5;j++){
                    int max = mar[0][j];
                    for(int k=0;k<4;k++){
                        if(mar[k][j]>max&&mar[k][j]!=maxs[j]){
                            max = mar[k][j];
                        }
                    }
                    maxs2[j] = max;
                }
                
                for(int j=0;j<5;j++){
                    System.out.print(maxs[j]+" ");
                    System.out.print(maxs2[j]+" ");
                }
            }
        }
    }

}
 

© 著作权归作者所有

共有 人打赏支持
随风1993
粉丝 0
博文 9
码字总数 2110
作品 0
普陀
后端工程师
HAWQ + MADlib 玩转数据挖掘之(五)——奇异值分解实现推荐算法

一、奇异值分解简介 奇异值分解简称SVD(singular value decomposition),可以理解为:将一个比较复杂的矩阵用更小更简单的三个子矩阵的相乘来表示,这三个小矩阵描述了大矩阵重要的特性。S...

wzy0623
2017/07/20
0
0
算法知识梳理(5) - 数组第二部分

一、概要 本文介绍了有关数组的算法第一部分的代码实现,所有代码均可通过 在线编译器 直接运行,算法目录: 找到最小的个数 连续子数组的最大和 连续子数组的最大和(二维) 求数组当中的逆...

泽毛
2017/12/11
0
0
南阳OJ-最大和

传送:南阳OJ-104 最大和 时间限制:1000 ms | 内存限制:65535 KB 难度:5 描述 给定一个由整数组成二维矩阵(r*c),现在需要找出它的一个子矩阵,使得这个子矩阵内的所有元素之和最大,并把...

zhagoodwell
2017/09/17
0
0
50道Java基础编程练习题

50道经典Java编程练习题,将数学思维运用到编程中来。抱歉哈找不到文章的原贴了,有冒犯的麻烦知会声哈,这里为了做收藏用。 1.指数计算问题 有一对兔子,从出生后第3个月起每个月都生一对兔...

Java团长
01/14
0
0
leetcode|初级算法-数组

01 起 最近“不务正业地”刷了一波leetcode上的算法题,初级算法已经刷完50%,战况如下, 刷题固然爽快,但及时总结才是进步之道,下面就数组部分的题目进行回顾和总结。 注意,刷题使用的语...

邓莎
09/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

控件WebView显示网页

一、代码编写 (一)方法一:通过打开app直接打开指定网站 1.打开Android Stutio,新建一个工程,名为Sdca。注意,名称开头必须为大写。 2.添加WebView控件 打开app esactivity_main.xml添加...

lanyu96
15分钟前
1
0
WinRAR 去除弹窗广告

想要去除它,需要用到另外一个工具resource hacker,百度一下,下载它,工具很小,安装也简单。安装过后,找到winrar安装目录下的WinRAR.exe文件,右击选择 open useing resource hacker打开...

YunOu
29分钟前
1
0
Bash工作管理详解

Bash工作管理 Bash的工作是对具体任务的一个抽象表述,更确切的说是对管道的应用上的表述。Bash中的工作在形式上表现为一组相关进程或单个进程。工作进程组分为前台和后台,前台进程会对键盘...

小陶小陶
33分钟前
2
0
Qt那些事0.0.1

LIBS += -L$$PWD/lib/ -lStv1QMAKE_POST_LINK += $$QMAKE_COPY $$replace(PWD,"/","\\")\lib\Stv1.dll $$replace(OUT_PWD,"/","\\")\debug\Stv1.dll pro文件里,写起来按理说应该是轻松地......

Ev4n
42分钟前
2
0
如何正确的使用动态VPS(Linux)自动更换IP

背景 现在越来越多的人开始玩网赚项目,蚂蚁再小也是肉,薅羊毛的羊毛党越来越多,一些网赚项目也越来越受欢迎,但是一般的网赚项目都是要求真实用户的,所以要想获得大量的真实ip,一种动态...

bengozhong
48分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部