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

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

判斷該二維數(shù)組中是否有元素7。

思路:比如有二維數(shù)組a[3][3]為1 2 8 9
2 4 9 12
4 7 10 13
6 8 11 15

選取左下角的元素a[3][0]是6比7小,則排除第一列,令a[3][0]列加1得
(1) 2 8 9
(2) 4 9 12
(4) 7 10 13
(6) [8] 11 15
a[3][1]為8大于7,則減去一行,a[2][1]為7則返回true。

代碼:

/**
 * Created by ryder on 2017/6/12.
 * 二維數(shù)組,從左到右遞增,從上到下遞增,輸入一個(gè)整數(shù),判斷數(shù)組中是否含有
 */
public class P44_FindInPartiallySortedMatrix {
    public static boolean findInPartiallySortedMatrix(int[][] data,int target){
        if(data==null ||data.length==0 || data[0].length==0)
            return false;
        int rowMax = data.length-1,colMax = data[0].length-1;
        int rowCur = data.length-1,colCur = 0;
        while(true){
            if(rowCur<0 | rowCur>rowMax | colCur<0 | colCur>colMax)
                return false;
            if(data[rowCur][colCur]==target)
                return true;
            else if(data[rowCur][colCur]>target)
                    rowCur--;
            else
                colCur++;
        }
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 數(shù)組在程序設(shè)計(jì)中,為了處理方便, 把具有相同類型的若干變量按有序的形式組織起來。這些按序排列的同類數(shù)據(jù)元素的集合稱...
    朱森閱讀 4,271評(píng)論 2 13
  • 【1】7,9,-1,5,( ) A、4;B、2;C、-1;D、-3 分析:選D,7+9=16;9+(-1)=8;(...
    Alex_bingo閱讀 19,808評(píng)論 1 19
  • 1.題目 在一個(gè)二維數(shù)組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請(qǐng)完成一個(gè)函數(shù)...
    KaelQ閱讀 576評(píng)論 1 5
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,335評(píng)論 0 17
  • 每次看著別人跳舞覺得的太酷了,于是也報(bào)了個(gè)舞蹈班,心想一定要好好堅(jiān)持,但是呢,一個(gè)學(xué)期下來,一只舞也沒學(xué)會(huì)。 每次...
    嚴(yán)謹(jǐn)言閱讀 223評(píng)論 0 0

友情鏈接更多精彩內(nèi)容