跳转至

LC74 - 搜索二维矩阵

SearchA2DMatrix.go
package BinarySearch

func searchMatrix(matrix [][]int, target int) bool {
    n, m := len(matrix), len(matrix[0])
    f := func(index int) int {
        return matrix[index/m][index%m]
    }
    for l, r := 0, n*m-1; l <= r; {
        mid := (l + r) / 2
        if f(mid) == target {
            return true
        } else if f(mid) > target {
            r = mid - 1
        } else {
            l = mid + 1
        }
    }
    return false
}

二维坐标线性化