假设我们有一个2D矩阵,其中每一行都按升序排序。我们必须找到每一行中存在的最小数字。如果没有这样的结果,则返回-1。
所以,如果输入像
2 | 3 | 5 |
5 | 10 | 10 |
1 | 3 | 5 |
那么输出将是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