题目描述:
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路:从矩阵的左下角元素开始与target作比较,如果大于target,则该行的元素都比目标值大,向上一行查找,如果小于目标值,则该列都比目标值小,向右一列查找,等于则返回true,当遍历完所有行或者所有列,则没有目标值,返回fasle
class Solution:
def findNumberIn2DArray(self, matrix: List[List[int]], target: int) -> bool:
i, j = len(matrix)-1, 0
while i>=0 and jtarget:
i -= 1
elif matrix[i][j]