劍指Offer JZ1 二維陣列中的查詢

2021-10-25 10:07:08 字數 703 閱讀 6035

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

我們利用從左到向左向右,從上到下遞增。特點的

我們從左下角開始查詢。

如果目標值大於當前值,值當前則向右移動注意防止越界,如果越界,則說明沒有找到,返回假

如果目標值小於當前值,當前值則向上移動。注意防止越界,如果越界,則說明沒有找到,返回假

否則說明找到了返回真。

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