首页 > 技术文章 > 二维数组中的查找

guorange 2018-04-09 17:23 原文

//在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
//请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

function Find(target, array){
    var cnt = array.length-1;
    var i,j;
    for(i=cnt, j=0; i>=0 && j<array[i].length;){
        if(target == array[i][j]){
            return true;
        }else if(target > array[i][j]){
            j++;
            continue;
        }else if(target < array[i][j]){
            i--;
            continue;
        }
    }
    return false;
}

//暴力索引
function Find2(target, array){
    var i;
    var cnt = array.length;
    for(i=0; i<cnt; i++){
        if(array[i].indexOf(target) !== -1){
            return true;
        }
    }
    return false;
}

var a = [[1,2,3],[4,5,6],[7,8,9]];
var b = 10;
var c = Find(b, a);
var d = Find2(b, a);
console.log(c,d);  //false false

练习地址:二维数组中的查找

推荐阅读