Open wengzc opened 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
};
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:
每行的元素从左到右升序排列。
每列的元素从上到下升序排列。
示例:
现有矩阵 matrix 如下:
给定 target =
5
,返回true
。给定 target =
20
,返回false
。题目链接:https://leetcode-cn.com/problems/search-a-2d-matrix-ii