问题描述
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路
从右上角开始扫描:
- 该数大于要找的数:删除该数所在的列
- 该数小于要找的数:删除该数所在的行
- 该数等于要找的数:直接返回该数
class solution:
# array 二维列表
def find(self, target, array):
# write code here
row,col=0,len(array[0])-1
while (row < len(array)) & (col>=0):
if array[row][col]==target:
return True
if array[row][col]>target:
col-=1
else:
row+=1
return False
if __name__=="__main__":
array=[[1,3,6],[2,4,7],[3,5,9]]
s=solution()
print(s.find(5,array))