劍指offer 4 二維陣列中查詢

2021-10-23 12:35:52 字數 579 閱讀 8167

乙個n*m的二維陣列中,每一行都按照從左往右遞增的順序排序;

每一列都按照從上到下遞增的順序排序。

實現乙個函式:

輸入乙個這樣的陣列和乙個整數,判斷這個陣列中有沒有這個整數

思路:方法一:暴力遍歷矩陣  matrix  o(n m)

方法二:矩陣逆時針旋轉40°矩陣,得到二叉搜尋樹

根節點對應的是 7   3  這兩個數——稱為標誌數

以3為本解法中的標誌數:

演算法流程:

1、從矩陣matrix   左下角 3開始遍歷  索引(i,j),並與目標值對比:

2、若行索引或列索引越界,則列表中無目標值,返回false;

時間複雜度o(n+m)

class solution 

return false;}}

劍指offer4 二維陣列中查詢

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列也都是按照從上到下遞增的順序排序。完成乙個函式,輸入乙個二維陣列和乙個整數,判斷該陣列中是否含有該整數。最開始的想法肯定就是暴力搜尋了,雙重for迴圈,但是這樣就和題目中給定的遞增的條件沒什麼關係了,顯然不是題目的本意。於是,採取另一種辦法...

劍指offer 4 二維陣列中的查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。首先選取陣列中右上角的數字。如果該數字等於要查詢的數字,則查詢結束 如果該數字大於要查詢的數字,則剔除該數字所...

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

題目 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。把二維陣列看作乙個矩陣,選擇矩陣右上角或者左下角的元素開始比較。逐步縮小比較範圍。public clas...