題目描述
在乙個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。
首先拿到這個題目我的想法就是倆個for迴圈遍歷,但是這樣子時間複雜度過高
經過思考我覺得可以考慮在陣列中隨機指定乙個數字(i為該數字行下標,j為列下標)然後將該數字與目標進行比對,如果大於目標數字,就列-1,否則行+1。
但是這樣加入遇到那種第一行找不到但是此時i已經等於最大值了怎麼辦?
所以最開始規定這個數字就不能是隨機規定了,只能規定為二維陣列右上角數字才可以。
「talk is cheap,show me the code!」
public
class
solution
return
false;}
}
其他型別陣列同理。 Java 二維陣列查詢
class arrayindex arrayindex arrindex new arrayindex boolean b1 arrindex.arrayindex arr,10 boolean b2 arrindex.arrayindex2 arr,10 system.out.println b1...
Java 二維陣列中的查詢
題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。劍指offer面試題3 public class twodimensionalarray system.out.println ...
二維陣列中查詢
1.問題描述 在乙個二維陣列中,每一行按照從左到右的遞增順序排序,每一列按照從上到下的遞增的順序排序,請完成這樣乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列是否含有該整數。來自 劍指offer 2.分析 首先選取陣列中右上角的數字。如果該數字等於要查詢的數字,查詢過程結束 如果該數字大於要查...