题目描述
给定一个 5×5 的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。
例如:在下面的例子中,第 4 行第 1 列的元素就是鞍点,值为 8。
11 3 5 6 9 12 4 7 8 10 10 5 6 9 11 8 6 4 7 2 15 10 11 20 25
输入格式
输入包含一个 5 行 5 列的矩阵。
输出格式
如果存在鞍点,输出鞍点所在的行、列及其值,如果不存在,输出 not found。
输入输出样例
输入
11 3 5 6 9 12 4 7 8 10 10 5 6 9 11 8 6 4 7 2 15 10 11 20 25
输出
4 1 8
源码
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[][] num = new int[5][5]; int[] array1 = new int[5]; int[] array2 = new int[5]; boolean flag = false; int row = 0; int column = 0; int value = 0; //数组需要被用到两次,因此先存储起来。 for(int i=0;i<5;i++) { for(int j=0;j<5;j++) { num[i][j] = sc.nextInt(); } } //得到每行最大值 for(int i=0;i<5;i++) { int max = -1; for(int j=0;j<5;j++) { int tmp = num[i][j]; if(tmp>max) max = tmp; } array1[i] = max; } //得到每列最小值 for(int i=0;i<5;i++) { int min = 9999; for(int j=0;j<5;j++) { int tmp = num[j][i]; if(tmp欢迎分享,转载请注明来源:内存溢出
评论列表(0条)