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 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.