給定乙個整數的二維陣列,其中每行從左到右公升序,每列從上到下遞增。實現乙個方法返回給定數在陣列中的下標。
思路:可以順序查詢,但是這樣就沒有利用公升序的條件。因為行列都是有序的,所以通過一次比較盡可能排除一行或一列。如果從陣列左上角開始比較,若給定數大於左上角的數,那麼無法確定剔除這一行還是這一列。如果從陣列右上角比較,若給定數較大,則可以剔除這一行,若給定數較小,則可以剔除這一列。當然也可以從左下角的數開始比較,不能從右下角開始比較。
#include #include using namespace std;
int find(const vector& ivec, int row, int column, int num)
return -1;
}int main()
cin >> n;
cout << find(ivec, r, c, n) << endl;
} return 0;
}
判斷給定的陣列 在 矩陣中是否相連
在乙個5 5的矩陣中,給定乙個長度為 6的陣列,判定這陣列的值是否在矩陣中相連的,如 如矩陣 int m 5 5 給定陣列 12,3,13,23,15,14 輸出為 true 給定陣列 12,3,13,23,14,15 輸出為 true 給定陣列 12,3,13,23,14,25 輸出為 false...
找矩陣中的鞍點
description 由鍵盤輸入乙個3 4 3行4列 的矩陣,輸出矩陣中的鞍點 即在矩陣行中最大,列中最小的數 若沒有鞍點,輸出 no 字樣。輸入樣例 87 90 110 98 70 97 210 65 98 45 120 30 輸出樣例 110思路 先找出每一行中最大的數,再找該數在那一列中是不...
BFS 求給定的矩陣中「塊」的個數
給出乙個 m n 的矩陣,矩陣中的元素為 0 或 1。稱位置 x,y 與其上 下 左 右四個位置是相鄰的。如果矩陣中有若干個 1 是相鄰的 不必考慮兩兩相鄰 那麼稱這些 1 構成了乙個 塊 求給定矩陣中 塊 的個數。4思路 對於矩陣 matrix m n 遍歷每個元素,如果為0,則跳過 如果為 1 ...