74. Search a 2D Matrix
题目给的matrix是排序过的,可以当作一维 sorted array 处理,直接binary search
模版。
class Solution:
def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
if not matrix or not matrix[0]: return False
m, n = len(matrix), len(matrix[0])
l, r = 0, m*n-1
while l+1 < r:
mid = (l+r)//2
v_mid = matrix[mid//n][mid%n]
print(v_mid)
if v_mid == target:
return True
elif v_mid > target:
r = mid
else:
l = mid
return matrix[l//n][l%n] == target or matrix[r//n][r%n] == target
Last updated
Was this helpful?