劍指offer程式設計

2021-07-16 10:51:54 字數 1028 閱讀 8844

二維陣列中的查詢

題目描述:在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

**:/**

* 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。

* 請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

*  * 規律:首先選取陣列中右上角的數字。如果該數字等於要查詢的數字,查詢過程結束:

* 如果該數字大於要查詢的數字,剔除這個數字所在的列:如果該數字小於要查詢的數字,剔除這個數字所在的行。

* 也就是說如果要查詢的數字不在陣列的右上角,則每-次都在陣列的查詢範圍中剔除)行或者一列,這樣每一步都可以縮小

* 查詢的範圍,直到找到要查詢的數字,或者查詢範圍為空。

** @param matrix 待查詢的陣列

* @param number 要查詢的數

* @return 查詢結果,true找到,false沒有找到

*/public class solution

int rows = array.length;        //二維陣列的行數

int cols = array[0].length;    //二維陣列的列數

int row = 0;                         //起始的行號

int col = cols-1;                  //起始的列號

while(row >= 0 && row < rows && col >= 0 && col target)else

}return false;

}public static void main(string args),,,

};system.out.println(find(array,3));    //要查詢的數在陣列中

system.out.println(find(array,13));     //要查詢的數不在陣列中} }

劍指offer程式設計

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

劍指offer 程式設計題

輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。注意 這兩個序列的長度是相等的 ...

javascript劍指offer程式設計練習 4

題目描述 從上往下列印出二叉樹的每個節點,同層節點從左至右列印。function treenode x function printfromtoptobottom root let queue queue.push root let result while queue.length if node...