在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
[
[1,2,8,9],
[2,4,9,12],
[4,7,10,13],
[6,8,11,15]
]
给定 target = 7,返回 true。
给定 target = 3,返回 false。
数据范围:矩阵的长宽满足 0≤ n,m≤500 , 矩阵中的值满足 0 ≤val ≤ 10^9
进阶:空间复杂度 O(1),时间复杂度(n+m)
class Solution:
def Find(self , target, array): # target是我们需要判断的目标值 ,array为二维数组
num1 = len(array)
num2 = len(array[0])
for a in range(num1): # 在这里注意使用range函数转换,再遍历二维数组
for b in range(num2):
if array[a][b] == target:
return True
return False
ps:题目来自牛客网,剑指offer