题目描述
剑指 Offer 04. 二维数组中的查找
注意点
每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序
解题思路
- 初始值:第1行,第m列的数字;
- 对比target:小了就向下移动,大了就向左移动
代码实现
/**
* @param {number[][]} matrix
* @param {number} target
* @return {boolean}
*/
var findNumberIn2DArray = function(matrix, target) {
if (matrix.length === 0 || matrix[0].length === 0) {
return false
}
const n = matrix.length;
const m = matrix[0].length;
let i = 0;
let j = m-1;
while (i < n && j >= 0) {
if (matrix[i][j] === target) {
return true;
} else if (matrix[i][j] > target) {
j--;
} else {
i++;
}
}
return false
};
注意点
- 情况1:[]
- 情况2:[[]]