成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【刷算法】二維數(shù)組中的查找

Worktile / 2967人閱讀

摘要:題目描述在一個(gè)二維數(shù)組中每個(gè)一維數(shù)組的長(zhǎng)度相同,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。分析例如二維數(shù)組,,如果按照常規(guī)的查找,從開始,那么,和都大于,接下來(lái)該怎么辦呢這就陷入了一個(gè)無(wú)法進(jìn)行下去的局面。

題目描述

在一個(gè)二維數(shù)組中(每個(gè)一維數(shù)組的長(zhǎng)度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請(qǐng)完成一個(gè)函數(shù),輸入這樣的一個(gè)二維數(shù)組和一個(gè)整數(shù),判斷數(shù)組中是否含有該整數(shù)。

分析

例如二維數(shù)組arr = [

[1,2,3,4],
[5,6,7,8],
[9,10,11,12]    

],target=7,如果按照常規(guī)的查找,從arr0開始,那么target>arr0,arr0和arr1都大于arr0,接下來(lái)該怎么辦呢?這就陷入了一個(gè)無(wú)法進(jìn)行下去的局面。

所以,要在一個(gè)數(shù)組中查找某target,則有辦法確定一個(gè)唯一的方向,即下一步該向左還是向右、向上還是向下。

觀察題目,二維數(shù)組的每一行都按照從左向右遞增,每一列都按照從上到下遞增,那么如果從二維數(shù)組的左下角開始,就可以保證向上的都是小的,向右的都是大的,過(guò)程就可以進(jìn)行下去了。

代碼實(shí)現(xiàn)
function Find(target, array)
{
    if(array === null)
        return false;
    var curRow = array.length-1;
    var curCol = 0;

    while(curRow >=0 && curCol < array[0].length){
        if(array[curRow][curCol] === target)
            return true;
        else if(array[curRow][curCol] > target)
            curRow--;
        else 
            curCol++
    }

    return false;
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/96278.html

相關(guān)文章

  • 【前端來(lái)LeetCode】?jī)蓴?shù)之和與兩數(shù)相加

    摘要:給定表,存在函數(shù),對(duì)任意給定的關(guān)鍵字值,代入函數(shù)后若能得到包含該關(guān)鍵字的記錄在表中的地址,則稱表為哈希表,函數(shù)為哈希函數(shù)。而中的對(duì)象就是基于哈希表結(jié)構(gòu),所以我們構(gòu)造一個(gè)對(duì)象即可,是當(dāng)前遍歷到的值,是其與目標(biāo)值的差。 大部分玩前端的小伙伴,在算法上都相對(duì)要薄弱些,畢竟調(diào)樣式、調(diào)兼容就夠掉頭發(fā)的了,哪還有多余的頭發(fā)再去折騰。 確實(shí)在前端中需要使用到算法的地方是比較少,但若要往高級(jí)方向發(fā)展,...

    BLUE 評(píng)論0 收藏0
  • 每日一道算法題--二維數(shù)組中的查找--python

    摘要:題目描述代碼思路思路一按行執(zhí)行二分查找,只要該行的第一個(gè)元素小于目標(biāo),就對(duì)該行二分查找。思路二從數(shù)組的左下角開始查找,如果當(dāng)前值小于目標(biāo),就向右,即如果當(dāng)前值大于目標(biāo),就向上,即?!绢}目描述】 showImg(https://user-gold-cdn.xitu.io/2019/5/22/16addf094e0320ca); 【代碼思路】 思路一:按行執(zhí)行二分查找,只要該行的第一個(gè)元素小于目...

    番茄西紅柿 評(píng)論0 收藏0
  • 每日一道算法題--二維數(shù)組中的查找--python

    摘要:題目描述代碼思路思路一按行執(zhí)行二分查找,只要該行的第一個(gè)元素小于目標(biāo),就對(duì)該行二分查找。思路二從數(shù)組的左下角開始查找,如果當(dāng)前值小于目標(biāo),就向右,即如果當(dāng)前值大于目標(biāo),就向上,即。【題目描述】 showImg(https://user-gold-cdn.xitu.io/2019/5/22/16addf094e0320ca); 【代碼思路】 思路一:按行執(zhí)行二分查找,只要該行的第一個(gè)元素小于目...

    luck 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<