假设我们有一个二维矩阵,其中每一行和每一列都以不降序排列,那么我们必须找到第n个最小的数字。
所以,如果输入像
2 | 4 | 30 |
3 | 4 | 31 |
6 | 6 | 32 |
且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