二維陣列的查詢

2021-09-19 15:27:18 字數 763 閱讀 6268

題目描述:

給定乙個二維陣列,其每一行從左到右遞增排序,從上到下也是遞增排序。給定乙個數,判斷這個數是否在該二維陣列中。

int x=,,,

,};//(陣列嚴格按照題目要求進行設定)

解題思路:

要求時間複雜度為o(m,n),空間複雜度為o(1).

該二維陣列中的乙個數,它的左邊的數都比它小,下面的數都比它大。因此,從右上角開始查詢,就可以根據查詢物件和當前元素的大小關係來縮小查詢區間。如果查詢物件比當前元素大,則換下一行,否則向左移動一列繼續比較。

**實現:

package jianzhioffer;

/** * 歷史修訂:

*/public class demo1 else if (target>matrix[r][c])else

}return false;

}//測試

public static void main(string args),,,

,};

boolean real=find(5,x);

system.out.println(real);

boolean real2=find(99,x);

system.out.println(real2);

}}

執行結果

true

false

二維陣列查詢

近日微博上看到乙個題目,二維陣列查詢 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。例如下面的二維陣列就是每行 每列都遞增排序。如果在這個陣列中查詢數字7,則返回true 如果查詢...

二維陣列查詢

天氣變化大,生病折騰了1個禮拜,寫篇部落格壓壓驚。題目源自於清明假期前夕舍友春招的筆試題,後來得知是劍指offer上的一道題,書上應該有解題思路啥的。題目重述 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,...

二維陣列查詢

題目描述 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請 完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。解題思路 按照一般搜尋二維陣列的方法,從左到右,從上到下,比較難根據這個陣列的特點進行快速搜尋。可以從 右到左,從上到下,...