📌  相关文章
📜  查找行中最小且列中最大的所有矩阵元素(1)

📅  最后修改于: 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$ 为矩阵的列数。