二維陣列的查詢

2021-09-10 10:48:14 字數 349 閱讀 9364

若已知乙個二維陣列每一行從左到右是遞增的,每一列從上到下是遞增的,那麼可以採用一種時間複雜度為o(n)的演算法,其中n為陣列的列數或行數,從而取代了遍歷一遍查詢(o(n*n))

演算法:二維陣列是個矩形狀,每次我們要目標數字與矩形右上角的數比較,若目標數字大,則矩形最上面一行砍掉,若目標數字小,則把矩形最右邊一列砍掉。直到矩形消失。

**如下:

bool find(int (*matrix)[4], int row, int column, int number)//此處傳入二維陣列必須是int*型,因此要有常量,所以還是降維比較好

return false;

}

二維陣列查詢

近日微博上看到乙個題目,二維陣列查詢 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。例如下面的二維陣列就是每行 每列都遞增排序。如果在這個陣列中查詢數字7,則返回true 如果查詢...

二維陣列查詢

天氣變化大,生病折騰了1個禮拜,寫篇部落格壓壓驚。題目源自於清明假期前夕舍友春招的筆試題,後來得知是劍指offer上的一道題,書上應該有解題思路啥的。題目重述 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,...

二維陣列查詢

題目描述 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請 完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。解題思路 按照一般搜尋二維陣列的方法,從左到右,從上到下,比較難根據這個陣列的特點進行快速搜尋。可以從 右到左,從上到下,...