leetcode--二维数组中的查找

109 阅读1分钟

思路:

在右上角开始遍历数组,如果当前元素值比target大,说明当前元素的下边的所有元素都一定大于目标值; 如果当前元素比target小,说明当前元素的左边的所有元素都一定小于目标值

var findNumberIn2DArray = function(matrix, target) {
    let arr1Length=matrix.length
    //数组为空时返回false
    if(!arr1Length) return false
    let arr2Length=matrix[0].length
    let i=0,j=arr2Length-1;
    while(i<arr1Length&&j>=0){
        let num=matrix[i][j]
        if(num===target){
            return true
        }else if(num>target){
            j--
        }else{
            i++
        }
    }
    return false
};