0
点赞
收藏
分享

微信扫一扫

剑指 Offer 04. 二维数组中的查找、Leetcode的Go实现

乌龙茶3297 2022-03-14 阅读 52

剑指 Offer 04. 二维数组中的查找

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

示例:

现有矩阵 matrix 如下:

限制:

对角线查询:从右上角开始查询,target<当前值,列值--,target>当前值,行值++

func findNumberIn2DArray(matrix [][]int, target int) bool {
    if len(matrix)==0 {
        return false
    }
    n:=len(matrix)
    m:=len(matrix[0])
    i,j:=0,m-1  //i-行,j-列
    for i<n && j>=0  {
        if target ==matrix[i][j]{
            return true
        }else if target < matrix[i][j]{
            j--
        }else {
            i++
        }
    }
    return false
}
举报

相关推荐

0 条评论