問題描述:在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該函式
例如輸入陣列
1 2 8 9
2 4 9 12
4 7 10 13
6 8 11 15
輸入整數7時函式返回true,輸入5時返回false
**
#include
/** * 判斷一二維陣列中是否含有某整數,從陣列右上角元素入手
* @param a (一維)陣列指標
* @param rows 陣列行數
* @param columns 陣列列數
* @param number 查詢的整數
* @return 若該陣列中含有整數number則返回1,否則返回0
*/bool
find1
(int
*a,int rows,
int columns,
int number)
}return
false;}
/** * 判斷一二維陣列中是否含有某整數,從陣列左下角元素入手
* @param a (一維)陣列指標
* @param rows 陣列行數
* @param columns 陣列列數
* @param number 查詢的整數
* @return 若該陣列中含有整數number則返回1,否則返回0
*/bool
find2
(int
*a,int rows,
int columns,
int number)
}return
false;}
intmain()
;// 這裡用一維陣列儲存二維陣列
std::cout <<
"please input the number you want to find:"
<< std::endl;
int number;
std::cin >> number;
std::cout <<
find1
(a,4,4
, number)
<<
'\t'
<<
find2
(a,4,4
, number)
<< std::endl;
std::cout <<
"please input the number you want to find:"
<< std::endl;
std::cin >> number;
std::cout <<
find1
(a,4,4
, number)
<<
'\t'
<<
find2
(a,4,4
, number)
<< std::endl;
return0;
}
劍指offer面試題4 二維陣列的查詢
題目 二維陣列的查詢 在乙個二位陣列中,每一行都遞增,每一列的遞增,請完成乙個函式,查詢二維陣列中是否有number 方案 只需要每次從二維陣列的右上角開始查詢就可以了,因為如果右上角的數字都大於要查詢的number的話,那麼這一列肯定都大於number,我們只需要在剩下的列中找就行了,如果右上角的...
劍指offer面試題4 二維陣列中的查詢
在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。include include using namespace std class solution else...
劍指offer 面試題4 二維陣列中的查詢
在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。class solution def find self,array,target 判斷陣列是否為空 if a...