题目描述
给定一个 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


