第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

劍指offer 二維數(shù)組中的查找

標(biāo)簽:
JavaScript

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
这道题借鉴了别人的思想 ,想明白之后,自己敲出来了。
解题思路是:这是一个二维有序数组,如果我们要在这里面找到目标值,共有四个角可以作为切入点,但是左上角和右下角有同样的问题,在判断之后又分岔路的问题,这两个角,两个方向上都是增大的,对于我们解题没有任何益处。但是左下角和右上角,在判断之后可以选择一条路进行下面的判断,本例中以左下角为 例,如果左下角的那个值大于目标值,那么说明目标值小,那么我们此时应该让行递减,如果左下角那个值小于目标值,那么说明目标值大,那么我们此时应该让列递增。
在明晰了思路之后,开始code

var a=[[1,2,3],[4,5,6],[7,8,9]]

function Find(arr,target){
    var hang=arr.length;  //行
    var lie=arr[0].length;  //列
    // 将位置定位到左下角  
    var i=hang-1
    var j=0; 
//如果行列都等于零,就没必要判断啦 
    if(hang===0&&lie===0){
        return false;
    }   
    while(i>=0&&j<=lie-1){
        // 如果左下角的值大于需要找的目标值,那么就应该向上走,此时行应该减少
        if(a[i][j]>target){
            i--;
        }
        // 如果左下角的值小于需要找的目标值,那么就应该向左走 此时列应该增加
        else if(a[i][j]<target){
            j++;
        }
        else{
            console.log(i,j);
        }
    }
//如果此时i递减到小于0或者j递增到大于lie-1,就说明没找到
    if(i<0||j>lie-1){
        return false;
    }

}

Find(a,5)
點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消