題目:在乙個二維陣列中,每一行都按照從左到右的遞增順序排序,每一列都按照從上到下的遞增順序排序。完成乙個函式,輸入這樣乙個二維陣列和乙個整數,判斷陣列中是否有該整數。
1 2 8 9
2 4 9 12
4 7 10 13
6 8 11 15
演算法:首先選取陣列中右上角的數字,如果該數字等於要查詢的數字,查詢過程結束;如果該數字大於要查詢的數字,剔除這個數字所在的列;如果該數字小於要查詢的數字,剔除該數字所在的行。也就是說如果要查詢的數字不在陣列的右上角,則每一次都在陣列的查詢範圍中剔除一行或者一列,這樣每一步都可以縮小查詢的範圍,直到找到要查詢的數字,或者查詢範圍為空。
下面是我的實現
package offer.giveme;
//矩陣中查詢數字
public class findinpartiallysortedmatrix
else if(num[row][column]>key)
else}}
return found;
} public static void main(string args) ,,,};
system.out.println(new findinpartiallysortedmatrix().find(num, 4, 4,100));
}}
劍指offer之二維陣列中的查詢
之前寫過一些劍指offer的題目,但是遇到vector的時候都會跳過因為並不清楚vector容器到底是個什麼,前幾天在對vector進行簡單的了解之後,理解不是很深刻,但是可以使用vector來做題了。題目 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從...
41 劍指Offer之二維陣列中的查詢
在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。很明顯,由於該二維陣列上到下遞增,左到右遞增的特殊性,遍歷整個矩陣進行查詢不是該題目的意圖所在。總結規律我們可...
Java演算法 劍指offer 二維陣列中的查詢
在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。方案一 這個是最暴力的直接遍歷。public class maintest return false 方案二 利用二維陣列由上到下,由...