找出一个二维java代码;数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。
时间: 2023-11-06 20:15:29 浏览: 122
请看以下二维java代码,其中包含了查找二维数组中的鞍点的算法:
```
public class Main {
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;
for (int i = 0; i < row; i++) {
int min = arr[i][0];
int colIndex = 0;
for (int j = 1; j < col; j++) {
if (arr[i][j] < min) {
min = arr[i][j];
colIndex = j;
}
}
boolean saddlePoint = true;
for (int k = 0; k < row; k++) {
if (arr[k][colIndex] > arr[i][colIndex]) {
saddlePoint = false;
break;
}
}
if (saddlePoint) {
System.out.println("鞍点为:" + arr[i][colIndex]);
return;
}
}
System.out.println("没有鞍点!");
}
}
```
这段代码会遍历二维数组,找到每一行中的最小值,然后再查看该最小值所在的列中是否有最大值,如果有,则该位置就是鞍点。如果遍历完所有行都没有找到鞍点,则输出“没有鞍点!”
阅读全文