用java写一个算法,找出二维数组中在所有行中最大但在所有列中最小的数组元素
时间: 2024-05-05 21:18:54 浏览: 78
好的,这个问题是一个编程问题,我可以帮助你解答。下面是我的代码实现:
```java
public static int findMaxInRowAndMinInCol(int[][] arr) {
int maxInRow, minInCol;
for (int i = 0; i < arr.length; i++) {
maxInRow = arr[i][0];
int maxIndex = 0;
for (int j = 1; j < arr[0].length; j++) {
if (arr[i][j] > maxInRow) {
maxInRow = arr[i][j];
maxIndex = j;
}
}
minInCol = maxInRow;
for (int k = 0; k < arr.length; k++) {
if (arr[k][maxIndex] < minInCol) {
minInCol = arr[k][maxIndex];
}
}
if (maxInRow == minInCol) {
return maxInRow;
}
}
return -1;
}
```
以上代码先遍历每行,找到当前行的最大值和其在列中的索引。接着遍历每列,找到当前列的最小值。最后再判断一下当前行最大值和当前列最小值是否相等,如果相等就是我们要找的值,否则继续遍历。如果找到最后还没有找到符合条件的元素,就返回-1表示未找到。希望能够解答你的问题。
阅读全文