找出一个二维数组的鞍点,即该位置上的元素在该行上最大、在列上最小java
时间: 2024-11-28 11:19:25 浏览: 22
在一个二维数组中,鞍点是指一个元素在该行上最大,在该列上最小。下面是一个Java程序,用于找出一个二维数组的鞍点:
```java
public class SaddlePoint {
public static void main(String[] args) {
int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int row = arr.length;
int col = arr[0].length;
boolean flag = false;
for (int i = 0; i < row; i++) {
int max = arr[i][0];
int index = 0;
for (int j = 1; j < col; j++) {
if (arr[i][j] > max) {
max = arr[i][j];
index = j;
}
}
int min = arr[0][index];
for (int k = 1; k < row; k++) {
if (arr[k][index] < min) {
min = arr[k][index];
}
}
if (max == min) {
System.out.println("鞍点为:" + max);
flag = true;
}
}
if (!flag) {
System.out.println("该二维数组没有鞍点");
}
}
}
```
该程序首先定义了一个二维数组arr,并获取了该数组的行数和列数。然后,程序遍历每一行,找到该行中的最大值和该值所在的列号。接着,程序在该列上遍历每一个元素,找到该列中的最小值。如果该行中的最大值等于该列中的最小值,则该元素就是一个鞍点。最后,程序输出鞍点的值,如果没有鞍点,则输出“该二维数组没有鞍点”。
阅读全文