在乙個二維整數中(每個一維整數的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序進行排序。請完成乙個函式,輸入這樣的乙個二維尺寸和乙個整數,判斷陣列中是否包含該整數。
我們利用從左到向左向右,從上到下遞增。特點的我們從左下角開始查詢。
如果目標值大於當前值,值當前則向右移動注意防止越界,如果越界,則說明沒有找到,返回假
如果目標值小於當前值,當前值則向上移動。注意防止越界,如果越界,則說明沒有找到,返回假
否則說明找到了返回真。
public
boolean
find
(int target,
int[
] array)
else
if(target < array[row]
[col]
)else
}return
false
;}
我們大家共同進步!
博主的github 中整理了相關的jdk1.8的原始碼**
jdk 1.8原始碼**
以及博主所刷過的演算法的解析,有興趣可以去踩踩。
演算法解析
另外附上博主的 github鏈結,還有乙個人臉識別專案可供借鑑
人臉識別專案
劍指offer JZ1(二維陣列中的查詢)
題目描述 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。示例1輸入 7,1,2,8,9 2,4,9,12 4,7,10,13 6,8,11,15 返回值tr...
劍指1 二維陣列中的查詢
題目 在乙個二維陣列中 每個一維陣列的維數都相同 每一行按照從左到右遞增的順序排列,每一列都按照從上到下遞增的順序排列。完成乙個函式,輸入乙個二維陣列和整數,判斷二維陣列中是否有該整數。思路 從右上角開始查詢,左邊比它小,右邊比它大.function find target,array if col...
1 劍指offer 二維陣列查詢
在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。兩種思路 一種是 把每一行看成有序遞增的陣列,利用二分查詢,通過遍歷每一行得到答案,時間複雜度是nlogn p...