演算法題1 二維陣列查詢數

2021-09-28 19:09:36 字數 861 閱讀 1207

1. 題目

在乙個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

2. 解答

/*

* 思路1:遍歷每一行,二分查詢是否屬於這一行

*/public

static

boolean

find01

(int

arr,

int target)

else

mid =

(left + right)/2

;}}return

false

;}

/*

* 思路2:以對角線上的元素為原點將二維陣列分成4個象限,從左上角向右下角移動原點,

* 若target在某兩個原點之間,則可以去掉二四象限,從一三象限中尋找

* 也可不用從左上角向右下角移動原點,採用二分查詢的思想,從中間開始

* 實現起來比較麻煩:棄

*/

/*

* 思路3:從右上角或者從左下角開始查詢

* 以左下角為例:左下角元素是一列中的最大的元素,一行中最小的元素,當target《這個數則上移一行,否則右移一行

*/public

static

boolean

find03

(int

arr,

int target)

else

}return

false

;}

歡迎各位指正,如有更好的思路,歡迎**~~

陣列1 二維陣列查詢

面試題3 題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。思路 從給定的二維陣列,選取最右上角的數target,開始與二維陣列中數字進行比較。arrs i target,說明選...

刷題 二維陣列查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。package timufuxi public class kaoshi boolean symbol sol...

1 陣列 二維陣列的查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。思路 思路一 暴力遍曆法進行查詢 o n 2 思路二 類似於二分查詢 已知陣列最右上角的元素 nums i j...