用Python查找给定矩阵中第n小的数字的程序
假设我们有一个二维矩阵,其中每行和每列都按照非减序排列,我们要找到第n小的数字。
因此,如果输入如下:
2 | 4 | 30 |
---|---|---|
3 | 4 | 31 |
6 | 6 | 32 |
并且n = 4,则输出将是6。
要解决这个问题,我们按照以下步骤进行操作 –
- lst := 一个新列表
- 对于矩阵中的每行i,做如下操作:
- 对于i中的每个单元格j,执行以下操作:
- 将j插入到lst的末尾
- 对于i中的每个单元格j,执行以下操作:
- 对列表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