程序从Python中的给定矩阵中找到第n个最小的数字

假设我们有一个二维矩阵,其中每一行和每一列都以不降序排列,那么我们必须找到第n个最小的数字。

所以,如果输入像

2430
3431
6632

且n = 4,则输出将为6。

为了解决这个问题,我们将遵循以下步骤-

  • lst:=一个新列表

  • 对于矩阵中的每一行,

    • 在第一个末尾插入j

    • 对于i中的每个单元格j,

    • 对列表进行排序

    • 返回lst [n]

    让我们看下面的实现以更好地理解-

    示例

    class Solution:
       def solve(self, matrix, n):
          lst = []
          for i in matrix:
             for j in i:
                lst.append(j)
          lst.sort()
          return lst[n]
    ob = Solution()matrix = [ [2, 4, 30], [3, 4, 31], [6, 6, 32] ]
    n = 4
    print(ob.solve(matrix, n))

    输入值

    matrix = [
    [2, 4, 30],
    [3, 4, 31],
    [6, 6, 32] ]
    n = 4

    输出结果

    6