其实我想暴力的,但奈何时间复杂度不允许

后面考虑到矩阵有序,于是想试试将矩阵分为四分,遍历其中一个矩阵
但太麻烦也被我否决了

后面实在想不出来,求助评论区
具体思路是:从矩阵左下角出发,比 target 小则右移,比 target 大则上移
代码如下:

class Solution:
    def Find(self , target: int, array: List[List[int]]) -> bool:
        n, m = len(array) - 1, len(array[0]) - 1
        i, j = n, 0
        while i >= 0 and j <= m:
            if array[i][j] < target:
                j += 1
            elif array[i][j] > target:
                i -= 1
            else:
                return True
        
        return False

反躬自省,奋勇向前