文档章节

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

随风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
50道Java基础编程练习题

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

Java团长
01/14
0
0
算法知识梳理(5) - 数组第二部分

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

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

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

zhagoodwell
2017/09/17
0
0
leetcode|初级算法-数组

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

邓莎
09/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

利用ibeetl 实现selectpicker 的三级联动

1. js 直接写在html页面上面,ibeetl 就可以动态地利用后台传上来的model List ,不需要每次点击都要ajax请求后台 2. 使用selectpicker 的时候,除了对selecct option的动态处理后,还需要 $("#...

donald121
24分钟前
0
0
Android SELinux avc dennied权限问题解决方法

1. 概述 SELinux是Google从android 5.0开始,强制引入的一套非常严格的权限管理机制,主要用于增强系统的安全性。 然而,在开发中,我们经常会遇到由于SELinux造成的各种权限不足,即使拥有“...

TreasureWe
34分钟前
1
0
阿里云ACP认证详细笔记(一)

ECS--------------------------1.云服务器Elastic Compute Service(ECS)2.Terraform:您可以使用开源工具Terraform来预配和管理ECS资源。Terraform提供一种简单机制,能够将配置文件部署...

啃不动地大坚果
39分钟前
0
0
如何实现MetaMask签名授权后DAPP一键登录功能?

1 摘要 网站太多,各种用户名/密码实在记不住。所以我们逐渐接受了BAT账号的授权登录功能。在以太坊DAPP应用中,也可以使用MetaMask实现授权后一键登录功能。MetaMask是去中心化钱包,授权信...

HiBlock
40分钟前
2
0
raspberrypi的相关网址

一、NOOBS安装 NOOBS使用说明书 http://www.shumeipai.net/thread-20009-1-1.html NOOBS自定义多系统启动 https://www.jianshu.com/p/afbcd17b785d NOOBS安装自定义系统 https://blog.csdn.......

mbzhong
41分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部