如果采用二向搜索可能会更快点。从左下角直接开始搜索,比较简单,加上剪枝判断后速度也还可以
class Solution:
def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
m = len(matrix)-1
n = len(matrix[0])-1
if target < matrix[0][0] or target > matrix[m][n]:
return False
i = m
j = 0
while i>= 0 and j<=n:
if matrix[i][j]>target:
i -= 1
elif matrix[i][j]<target:
j += 1
else:
return True
return False