NOTE

搜索二维矩阵

从右上角开始搜索行列均有序的二维矩阵。

Data Structures & Algorithms创建于 更新于 约 1 分钟读完historical

这是历史学习笔记,可能存在过时或不完整的理解。

1. 题目描述

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:

每行的元素从左到右升序排列。 每列的元素从上到下升序排列

2. 思路

  1. 思路一
    • 从右上角开始往左下角查找
  2. 思路二
    • 对每行元素使用二分查找

3. 实现

func searchMatrix(matrix [][]int, target int) bool {
    row := 0
    col := len(matrix[0])-1
    for row < len(matrix) && col >= 0 {
        if matrix[row][col] < target {
            row++
        }else if matrix[row][col] > target {
            col--
        }else {
            return true
        }
    }
    return false
}

4. 参考

讨论

使用 GitHub 账号参与讨论,评论会保存在 GitHub Issues 中。在 GitHub 查看