劍指offer 二維資料的查詢

2021-07-31 03:27:51 字數 427 閱讀 4763

乙個二維陣列,每一行從左向右,從上到下都是遞增數列,要求輸入乙個數,判斷陣列中是否有該數,比如以下陣列查詢7.

1 2 8 9

2 4 9 12

4 7 10 13

6 8 11 15

這個題的思路其實可以從這樣從右上角的數字開始找,那麼第乙個數是9,比7大,那就刪除這一列,接下來左移乙個為8也比7大,在左移,找到2,那就開始在這列找,行數不斷增加,最終找到了7.

bool find(int data[4],int rows,int cols,int number)

else if (data[row_start][cols_start] > number)

else

row_start++;

} }return found;

}

二維陣列查詢(劍指offer)

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

劍指offer 二維陣列的查詢

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

劍指Offer 二維陣列的查詢

題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。思路 題目給定二維陣列按行遞增,按列遞增。1.錯誤 有一種很自然的想法就是分別按行和列定位,細想一下這是不行的 例如按行定位時,...