在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
时间复杂度o(n*n)
class Solution:
# array 二维列表
def Find(self, target, array):
# write code here
for i in range(len(array)):
for j in range(len(array[i])):
if target == array[i][j]:
return True
return False
class Solution:
# array 二维列表
def Find(self, target, array):
# array 二维列表
# 1 3 5 7
# 2 4 6 8
# 3 6 9 12
# 如果查找4,发现7 > 4查找的范围就变成3行4列, 5 >4查找的范围变成2列3行 3 <4 查找的范围变成2行2列 找到4
row = len(array)
col = len(array[0])
i = 0
j = col - 1
while i < row and j >= 0:
if target == array[i][j]:
return True
elif target < array[i][j]:
j = j - 1
else:
i = i + 1
return False