解法:分两次进行二分搜索
class Solution: def searchMatrix(self, matrix: List[List[int]], target: int) -> bool: # 二维 二分搜索 m = len(matrix) n = len(matrix[0]) # 分两次进行的二分搜索: down = 0 up = m-1 while down <= up: mid = (down + up) // 2 if matrix[mid][0] == target: return True elif matrix[mid][0] < target: down = mid + 1 else: up = mid -1 # row = down - 1 # 对row这一行进行二分搜索: down = 0 up = n-1 while down <= up: mid = (down + up) // 2 if matrix[row][mid] == target: return True elif matrix[row][mid] < target: down = mid + 1 else: up = mid -1 return False