在Python中找到矩阵中每一行的最小相交元素的程序

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

所以,如果输入像

235
51010
135

那么输出将是5

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

  • 如果矩阵为空,则

    • 返回-1

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

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

    • 返回-1

    • first:=首先与row的一组元素相交

    • 如果第一个为空,则

  • 返回第一个的最小值

让我们看下面的实现以更好地理解-

示例

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
猜你喜欢