搜索二维矩阵,针对一个从左到右,从上到下递增的二维矩阵,在元素中查找指定值的元素。
初始化一个指向指针左下角的指针,当前的值大于目标值,向上移动一行,当前的值大于目标值,向右移动一列。这种方式将最终找到可搜索的值。选左上角,像右增大,向上减小,选右下角,向下增大,向左减小。
时间复杂度:O(m + n)
空间复杂度:O(1)
- Runtime: 740 ms, faster than 45.67%
- Memory Usage: 42 MB, less than 49.53%
/**
* @param {number[][]} matrix
* @param {number} target
* @return {boolean}
*/
var searchMatrix = function(matrix, target) {
let m = matrix.length
let n = matrix[0].length
let row = m - 1
let col = 0
while(row >= 0 && col < n) {
const cur = matrix[row][col]
if(cur < target) {
col++
} else if(cur > target) {
row--
} else {
return true
}
}
return false
};
网友评论