Python 中查詢給定矩陣中第 n 個最小數的程式
假設我們有一個 2D 矩陣,其中每一行和每一列都按非遞減順序排列,我們需要找出第 n 個最小數。
因此,如果輸入如下
2 | 4 | 30 |
3 | 4 | 31 |
6 | 6 | 32 |
並且 n = 4,那麼輸出將是 6。
為了解決這個問題,我們將按照以下步驟進行 -
- lst := 一個新列表
- 對於矩陣中的每一行 i,執行
- 對於 i 中的每一個單元格 j,執行
- 將 j 插入到 lst 的末尾
- 對於 i 中的每一個單元格 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
廣告