Python 中查詢給定矩陣中第 n 個最小數的程式


假設我們有一個 2D 矩陣,其中每一行和每一列都按非遞減順序排列,我們需要找出第 n 個最小數。

因此,如果輸入如下

2430
3431
6632

並且 n = 4,那麼輸出將是 6。

為了解決這個問題,我們將按照以下步驟進行 -

  • lst := 一個新列表
  • 對於矩陣中的每一行 i,執行
    • 對於 i 中的每一個單元格 j,執行
      • 將 j 插入到 lst 的末尾
  • 對列表 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

更新於:20-11-2020

138 人次瀏覽

啟動你的職業

透過完成課程來獲得認證

開始
廣告