wengzc / leetcode

Record the leetcode
1 stars 0 forks source link

240. 搜索二维矩阵 II #172

Open wengzc opened 4 years ago

wengzc commented 4 years ago

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

示例:

现有矩阵 matrix 如下:

[
  [1,   4,  7, 11, 15],
  [2,   5,  8, 12, 19],
  [3,   6,  9, 16, 22],
  [10, 13, 14, 17, 24],
  [18, 21, 23, 26, 30]
]

给定 target = 5,返回 true

给定 target = 20,返回 false

题目链接:https://leetcode-cn.com/problems/search-a-2d-matrix-ii

wengzc commented 4 years ago

思路分析:关键找到从哪个点开始搜索,本题可以从左下角开始搜索(理解并记忆)

左下角具备搜索条件:

/**
 * @param {number[][]} matrix
 * @param {number} target
 * @return {boolean}
 */
// 从左下角开始搜索
var searchMatrix = function (matrix, target) {
    let len = matrix.length
    let i = len - 1, j = 0
    while (i >= 0 && j < matrix[0].length) {
        if (matrix[i][j] === target) {
            return true
        } else if (matrix[i][j] > target) {
            i--
        } else {
            j++
        }
    }
    return false
};