程序,在Python中查找给定矩阵内是否存在目标值

假设我们有一个2D矩阵,其中每一行和每一列都以不降序排列,那么我们必须检查给定的目标是否存在于其中。

所以,如果输入像

2430
3431
6632

目标为31,则输出为True

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

  • col:=矩阵的列大小-1

  • 对于范围从0到矩阵行大小的i,执行

    • 返回True

    • col:= col-1

    • 而matrix [i,col]> target和col> = 0,则执行

    • 如果matrix [i,col]与目标相同,则

    • 返回False

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

    示例

    class Solution:
       def solve(self, matrix, target):
          col = len(matrix[0]) - 1
          for i in range(len(matrix)):
             while matrix[i][col] > target and col >= 0:
                col = col - 1
             if matrix[i][col] == target:
                return True
          return False
    ob = Solution()matrix = [ [2, 4, 30], [3, 4, 31], [6, 6, 32] ]
    target = 31
    print(ob.solve(matrix, target))

    输入项

    matrix = [
    [2, 4, 30],
    [3, 4, 31],
    [6, 6, 32]]
    target = 31

    输出结果

    True