劍指offer(2) 二維陣列的查詢

2021-07-11 09:31:11 字數 557 閱讀 7189

題目描述:

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

思路:

這道題可以使用對角線的方法完成,可以從右上角的元素考慮,如果目標查詢元素小於右上角的元素,那麼不可能在右上角元素所在的列,如果目標大於剩餘列的右上角的元素,那麼不可能在該右上角元素所在的行。依照這個規律,就可以完成目標元素的查詢。

例如矩陣:

1  2  8   9

2  4  9   12

4  7  10  13

6  8  11  15

下面為牛客ac**:

public

class

solution

return

false;

}}

參考

1. 何海濤,劍指offer名企面試官精講典型程式設計題(紀念版),電子工業出版社

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

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。把每一行看成有序遞增的陣列,利用二分查詢,通過遍歷每一行得到答案,時間複雜度是o nlogn class so...

二維陣列查詢(劍指offer)

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。解法一 因為每一行都是遞增的,直接對每一行進行二分查詢即可。public class solution if ...

劍指offer 二維陣列的查詢

題目描述 書中第三題 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。public class solution return false 要自己處理輸入的版本 public sta...