从二维数组中查找(一)

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

 

function Find(target, array){

    //可以从二维数组的左下角开始找对应的元素,如果此时目标值
    //大于二维数组左下角的数,那么说明目标值不在第一列
    //如果目标值小于二维数组左下角的数,那么说明目标值不在最后一行
    var rowNum=array.length-1;
    var colNum=array[0].length-1;
    //二维数组左下角的数表示为array[row-1][0]
    var i=rowNum,j=0;
    //需要有一个循环
    while(i>=0 && j<=colNum){
        if(target==array[i][j]){
            return true;
        }
        if(array[i][j]>target){
            i--;
            // continue;//说明结束了这一次循环,进入下一次循环
                    //说明 如果array[i][j]如果是大于target 然后将row--之后 就结束这次循环,并不会对col有什么影响
        }else if(array[i][j]<target){
            j++;
            // continue;
        }
    }

    return false;
    
}

 

posted @ 2018-09-06 21:06  mino1996  阅读(83)  评论(0编辑  收藏  举报