📅  最后修改于: 2023-12-03 15:23:04.488000             🧑  作者: Mango
给定一个由4个数组成的矩阵,其中每行都可以按任意顺序重排。现在,您需要确定每一行的最大值,并确定这些值的最小值。
def find_min_max(matrix: List[List[int]]) -> Tuple[int, int]:
pass
matrix
:由4个数组成的矩阵。其中每个数组都包含至少一个整数,且至多包含100个整数。(a, b)
,其中a
表示矩阵每一行最大值的最小值,b
表示矩阵每一列最小值的最大值。matrix = [[1, 2, 3, 4], [2, 3, 4, 1], [5, 6, 7, 1], [6, 7, 8, 1]]
(2, 6)
题目定义的矩阵中每个数组并不能保证是按升序或降序排列的,因此我们需要找到最大值,才能找到每一行的最大值。
具体的做法是,使用python内置的max
函数,找出每个数组的最大值,然后再求出最小值。同样,使用min
函数,找出每一列的最小值,然后再求出最大值。
我们可以遍历矩阵的每一行,找到其中的最大值,然后再找到矩阵中所有行的最大值中的最小值。同样的,我们可以遍历每一列,找到其中的最小值,然后再找到所有列的最小值中的最大值。
最终的代码如下所示:
from typing import List, Tuple
def find_min_max(matrix: List[List[int]]) -> Tuple[int, int]:
row_max = []
col_min = []
# 遍历每一行
for row in matrix:
row_max.append(max(row))
# 遍历每一列
for i in range(len(matrix[0])):
col_min.append(min(matrix[j][i] for j in range(len(matrix))))
return min(row_max), max(col_min)
在代码中,我们通过列表推导式,遍历矩阵的每一列,找到其中的最小值。使用min
函数,找到所有列的最小值中的最大值。