搜索二维矩阵 II:行递增、列递增
目录
思路
- 不要从左上角开始,而是从右上角开始
- 规定只能向左或向下移动
- 如果向左移动,元素在减小
- 如果向下移动,元素在增大
代码
var searchMatrix = function (matrix, target) {
let m = matrix.length,
n = matrix[0].length;
// 初始化在右上角
let i = 0,
j = n - 1;
while (i < m && j >= 0) {
if (matrix[i][j] === target) {
return true;
}
if (matrix[i][j] < target) {
// 需要大一点,往下移动
i++;
} else {
// 需要小一点,往左移动
j--;
}
}
// while 循环中没有找到,则 target 不存在
return false;
};