📅  最后修改于: 2023-12-03 15:26:39.273000             🧑  作者: Mango
本程序旨在查找给定矩阵中行中最小且列中最大的所有元素。
用户需输入一个 $m \times n$ 的矩阵,以及两个整数 $m$ 和 $n$,表示矩阵的行数和列数。
程序将返回所有行中最小且列中最大的元素,若不存在,返回空列表。
def find_smallest_largest(matrix, m, n):
"""
查找行中最小且列中最大的所有矩阵元素
Args:
matrix: m x n的矩阵
m: 矩阵行数
n: 矩阵列数
Returns:
返回行中最小且列中最大的所有元素
"""
result = []
for row in matrix:
min_value = min(row)
col_index = row.index(min_value)
col = [matrix[i][col_index] for i in range(m)]
max_value = max(col)
if min_value == max_value:
result.append(min_value)
return result
输入:
matrix = [
[1, 2, 3],
[2, 3, 4],
[3, 4, 5],
[4, 5, 6]
]
m = 4
n = 3
输出:
[4]
该程序的时间复杂度为 $O(mn)$,其中 $m$ 为矩阵的行数,$n$ 为矩阵的列数。