leetcode刷题笔记 剑指 Offer 04. 二维数组中的查找

题目描述:

在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

leetcode刷题笔记 剑指 Offer 04. 二维数组中的查找_第1张图片

思路:从矩阵的左下角元素开始与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]

 

你可能感兴趣的:(数据结构,算法,leetcode)