在Python中查找给定矩阵中的目标值程序

在Python中查找给定矩阵中的目标值程序

假设我们有一个二维矩阵,每行和每列都按非递减顺序排序,我们必须检查目标是否存在其中。

所以,如果输入如下:

2 4 30
3 4 31
6 6 32

并且target = 31,则输出将为True。

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

  • col :=矩阵的列数-1
  • 对于i在矩阵的行大小的范围内,进行如下操作:
    • while matrix[i, col] > target and col >= 0时,执行以下操作:
      • col := col – 1
    • 如果matrix[i, col]与target相同,则
      • return True
  • return False

让我们看下面的实现,以便更好地理解:

更多Python相关文章,请阅读:Python 教程

示例

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程