java求二维数组的鞍点
时间: 2023-10-27 12:07:24 浏览: 108
鞍点是指在一个矩阵中,某个元素是该行中最大值,同时也是该列中最小值。以下是一个求二维数组鞍点的Java代码:
```java
public static void findSaddlePoint(int[][] matrix) {
int rows = matrix.length;
int cols = matrix[0].length;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
int val = matrix[i][j];
int minRowVal = val;
int maxColVal = val;
boolean isSaddlePoint = true;
for (int k = 0; k < cols; k++) { // 找出该行最小值
if (matrix[i][k] < minRowVal) {
minRowVal = matrix[i][k];
}
}
for (int k = 0; k < rows; k++) { // 找出该列最大值
if (matrix[k][j] > maxColVal) {
maxColVal = matrix[k][j];
}
}
if (val != minRowVal || val != maxColVal) { // 不满足鞍点条件
isSaddlePoint = false;
}
if (isSaddlePoint) {
System.out.println("Saddle Point found at (" + i + ", " + j + ") with value " + val);
}
}
}
}
```
该方法接收一个二维数组作为参数,然后遍历每个元素,分别找出该行和该列的最小值和最大值,如果该元素不满足鞍点条件,则跳过,否则输出该元素的坐标和值。
阅读全文