求二维数组的鞍点
鞍点:行中最大,列中最小。
如下所示:37是按点
[
[10, 20, 30, 40],
[17, 33, 25, 37],
[32, 22, 26, 41],
[14, 19, 50, 55]
]
编写python程序找出一个二维数组的鞍点。
解答:
def saddle(matrix):
for i in range(len(matrix)):
row_max = max(matrix[i])
col_index = matrix[i].index(row_max)
col_min = min([matrix[j][col_index] for j in range(len(matrix))])
if row_max == col_min:
return (i, col_index)
return None
l = [
[10, 20, 30, 40],
[17, 33, 25, 37],
[32, 22, 26, 41],
[14, 19, 50, 55]
]
print(saddle(l))