分析
从右上角开始
如果比当前小,就往左
如果比当前大,就往下
如果一样就True
如果越界跳出while 返回False
ac code
class Solution:
def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
# 很经典,从右上角开始
m, n = len(matrix), len(matrix[0])
x, y = 0, n - 1 # starter
while 0 <= x < m and 0 <= y < n:
if matrix[x][y] == target:
return True
elif matrix[x][y] > target:
y -= 1
else:
x += 1
return False
总结
经典的二维矩阵找相同
按两个升序规律的题