本题中的矩阵,每行每列都是单调递增的,
解法一:二分
这道题很容易让人想到二分。二分如果要选左边的元素,那么需要用ceil函数来确定中间,这是一个坑。然后二分的思路就是确定候选区间,先根据第一个元素选出右区间,再根据最后一个元素选出左区间,在区间内二分即可。
from math import ceil
class Solution:
def findNumberIn2DArray(self, matrix: List[List[int]], target: int) -> bool:
if matrix == [] or matrix == [[]]: return False
def bisect(array, num):
l, r = 0, len(array)<