一、题目地址
https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/
二、具体代码
/**
* @param {number[][]} matrix
* @param {number} target
* @return {boolean}
*/
var findNumberIn2DArray = function(matrix, target) {
// 1、判断matrix的数组是否为空,如果为空,直接返回false
if(!matrix.length) {
return false;
}
// 2、定义row变量,用来保存行的长度
let row = matrix.length;
// 3、定义cols变量,用来保存列的长度
let cols = matrix[0].length;
// 4、定义x变量,用来记录行的变化
let x = 0;
// 5、定义y变量,用来记录列的变化
let y = cols - 1;
// 6、在二维数组中进行查找
while(x < row && y >= 0) {
// 7、如果直接找到了,直接返回true
if(target === matrix[x][y]) {
return true;
}
// 8、如果target大于matrix[x][y],往下一行进行考虑,即x++
if(target > matrix[x][y]) {
x++;
}else {
// 9、如果target小于matrix[x][y],往前一列进行考虑,即y--
y--;
}
}
// 10、如果没有找到,直接返回false
return false;
};