用 Python 编写程序,查找矩阵中每行的最小相交元素

pythonserver side programmingprogramming更新于 2026/2/4 0:12:17

假设我们有一个 2D 矩阵,其中每行按升序排列。我们必须找到每行中存在的最小数字。如果没有这样的结果,则返回 −1。

因此,如果输入如下

235
51010
135

则输出为 5

为了解决这个问题,我们将遵循以下步骤 −

  • 如果矩阵为空,则

    • 返回 −1

  • first := a new set from矩阵的第一行

  • 对于矩阵中的每一行,执行

    • first := Intersect 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

相关文章


有用资源