找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列最小。(一个二维数组最多有一个鞍点,也可能没有。)
时间: 2023-11-06 19:00:37 浏览: 127
C语言程序设计-求一个二维数组中的鞍点
5星 · 资源好评率100%
以下是Python代码实现:
```python
def find_saddle_point(matrix):
rows = len(matrix)
cols = len(matrix[0])
for i in range(rows):
for j in range(cols):
if matrix[i][j] == max(matrix[i]) and matrix[i][j] == min([matrix[k][j] for k in range(rows)]):
return (i, j)
return None
```
首先,我们遍历二维数组中的每个元素,找到每行和每列的最大值和最小值。如果某个元素的值等于它所在行的最大值且等于它所在列的最小值,那么它就是一个鞍点,我们返回它的位置。如果遍历完整个二维数组还没有找到鞍点,则返回None。
阅读全文