📅  最后修改于: 2023-12-03 15:10:44.790000             🧑  作者: Mango
该程序用于查找矩阵中每个元素在其所在行中的最小值和在其所在列中的最大值。
程序输入为一个矩阵,输出为一个二维数组,每个元素包含两个值,第一个值为该元素所在行的最小值,第二个值为该元素所在列的最大值。
该程序的时间复杂度为O(N^2),其中N为矩阵的大小。
def find_min_max(matrix):
"""
查找矩阵中每个元素在其所在行中的最小值和在其所在列中的最大值
:param matrix: 矩阵
:return: 二维数组,每个元素包含两个值,第一个值为该元素所在行的最小值,第二个值为该元素所在列的最大值
"""
# 初始化结果数组
result = []
# 遍历矩阵中的每个元素
for i in range(len(matrix)):
for j in range(len(matrix[0])):
# 找到该元素所在行的最小值
row_min = min(matrix[i])
# 找到该元素所在列的最大值
column_max = max(matrix[x][j] for x in range(len(matrix)))
# 将该元素的最小值和最大值添加到结果数组中
result.append([row_min, column_max])
return result
# 测试输入
matrix = [
[1, 9, 3],
[4, 5, 6],
[7, 2, 8]
]
# 预期输出
# [
# [1, 7], [1, 9], [1, 8],
# [4, 9], [4, 5], [4, 6],
# [2, 8], [2, 9], [2, 8]
# ]
print(find_min_max(matrix))