这里记录一下小白刷题的过程,如有代码雷同,还请多多包含。
这道题思路出发点是:
1.找到比较的临界位置,左下角或者右上角。如果是左上角或者右下角,就很容易出现不知往哪个方向走的困境。
2.if用来判定条件,while用来循环查找。
def findvalue(matrix,numb):
if not matrix:
return False
rows,cols = len(matrix),len(matrix[0]) #用len()来确定二维数组的长度
#从左下角或者右上角来查找策略
x=rows-1 #左下角的行 列定义
y=0
while x>=0 and y<=cols-1:
if matrix[x][y]==numb:
return True
elif numb>matrix[x][y]:
y=y+1
else:
x=x-1
return False
reference:
1.点击打开链接
2.点击打开链接