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...