用Python查找给定矩阵中第n小的数字的程序

用Python查找给定矩阵中第n小的数字的程序

假设我们有一个二维矩阵,其中每行和每列都按照非减序排列,我们要找到第n小的数字。

因此,如果输入如下:

2 4 30
3 4 31
6 6 32

并且n = 4,则输出将是6。

要解决这个问题,我们按照以下步骤进行操作 –

  • lst := 一个新列表
  • 对于矩阵中的每行i,做如下操作:
    • 对于i中的每个单元格j,执行以下操作:
      • 将j插入到lst的末尾
  • 对列表lst进行排序
  • 返回lst [n]

让我们看下面的实现,以获得更好的理解 –

更多Python相关文章,请阅读:Python 教程

示例

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程