欢迎来到 A_Dull_Rabbit 的博客

74. 搜索二维矩阵(GO)

image

// Golang
func searchMatrix(matrix [][]int, target int) bool {
        // 获取行列长度
        m, n := len(matrix), len(matrix[0])
        // 计算切片大小
        var low, height int = 0, m*n-1 
        // fmt.Println(low, height)
        // 二分查找
        for low<=height{ // 注意循环条件
            // 获取中间下标
            mid := (height - low)/2 + low
            // 获取中值
            x := matrix[mid/n][mid%n]   
            if x ==  target{
                return true
            } else if x  <  target {
                low  = mid + 1
            } else{
                height = mid-1
            }
        }
        return false
 }

总结

本题可看做一个已排好序的数组(切片)中查找某一特定的值
首先想到二分查找方法
二分查找有固定的模板结构

posted on 2021-03-30 23:08  A_Dull_Rabbit  阅读(194)  评论(0)    收藏  举报

导航