用 Python 编写程序从给定矩阵中找出第 n 个最小数

pythonserver side programmingprogramming

假设我们有一个 2D 矩阵,其中每行和每列都按非递减顺序排序,我们必须找出第 n 个最小数。

因此,如果输入如下

2430
3431
6632

如果 n = 4,则输出为 6。

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

  • lst := 一个新列表
  • 对于矩阵中的每一行 i,执行
    • 对于 i 中的每个单元格 j,执行
      • 在 lst 的末尾插入 j
  • 对列表 lst 进行排序
  • 返回 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

相关文章


有用资源