九度劍指offer 1384

2021-06-17 22:35:07 字數 647 閱讀 2779

題目鏈結

題目給出了乙個二維陣列,行從上到下遞增,列從左到右遞增。

給出乙個目標數,來查詢該目標數是否存在於這個二維陣列中。

很直接的想法就是由兩個二分查詢來組成,但是這樣的想法會存在明顯的問題

1 32 4

對於這樣的2*2的陣列,查詢3這個元素,如果先對第一列元素進行二分查詢,很明顯就找不到3這個元素了。

這裡給出乙個簡單的演算法。

#include #include #include #include using namespace std;

int arr[1005][1005];

int m,n,t;

bool bfind(int x,int y)

return false;

}int main()

{ int i,j;

while(scanf("%d%d",&m,&n)!=eof)

{ scanf("%d",&t);

memset(arr,0,sizeof(arr));

for(i = 1;i <= m ;i++)

for(j = 1;j <= n;j++)

scanf("%d",&arr[i][j]);

if(bfind(1,n))

cout<<"yes"<

劍指offer全套解答 劍指offer 1 5

1.二維陣列中的查詢 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。public class solution int n array 0 length i...

劍指offer全套解答 劍指offer 36 45

36.兩個鍊錶的第乙個公共節點 輸入兩個鍊錶,找出它們的第乙個公共結點。注意因為傳入資料是鍊錶,所以錯誤測試資料的提示是用其他方式顯示的,保證傳入資料是正確的 public class solution return p 37.數字在排序陣列 現的次數 統計乙個數字在公升序陣列 現的次數。publi...

劍指offer全套解答 劍指offer 46 55

46.孩子們的遊戲 圓圈中最後剩下的數 每年六一兒童節,牛客都會準備一些小禮物去看望孤兒院的小朋友,今年亦是如此。hf作為牛客的資深元老,自然也準備了一些小遊戲。其中,有個遊戲是這樣的 首先,讓小朋友們圍成乙個大圈。然後,他隨機指定乙個數m,讓編號為0的小朋友開始報數。每次喊到m 1的那個小朋友要出...