Python 中查詢矩陣中每行最小交集元素的程式


假設我們有一個二維矩陣,其中每一行按升序排列。我們必須找到每一行中存在的最小數字。如果沒有這樣的結果,則返回 -1。

所以,如果輸入是這樣的

235
51010
135

那麼輸出將是 5

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

  • 如果矩陣為空,則

    • 返回 -1

  • first := 矩陣第一行的新的集合

  • 對於矩陣中的每一行,執行

    • First := 交集 first 一組行的元素

    • 如果 first 為空,則

      • 返回 -1

  • 返回 first 的最小值

讓我們看看下面的實現來更好地理解 -

示例

 即時演示

class Solution:
   def solve(self, matrix):
      if not matrix:
         return -1
      first = set(matrix[0])
      for row in matrix:
         first &= set(row)
         if not first:
            return -1
      return min(first)
ob1 = Solution()
matrix = [
   [2, 3, 5],
   [5, 10, 10],
   [1, 3, 5]
]
print(ob1.solve(matrix))

輸入

matrix = [
[2, 3, 5],
[5, 10, 10],
[1, 3, 5] ]

輸出

5

更新時間: 2020-10-21

127 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告