劍指offer3 二維陣列中的查詢

2021-08-28 06:51:43 字數 986 閱讀 2249

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

package com.cxy.test;

public class tset03

int rows = matrix.length;// 陣列的行數

int cols = matrix[1].length;// 陣列行的列數

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

int col = cols-1;//起始列數

// 要查詢的位置確保在陣列之內

while (row >= 0 && row < rows && col >= 0 && col < cols)

else if(matrix[row][col]>number) else

} return false;

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

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

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

system.out.println(find(matrix, 1)); // 要查詢的數是陣列中最小的數字

system.out.println(find(matrix, 15)); // 要查詢的數是陣列中最大的數字

system.out.println(find(matrix, 0)); // 要查詢的數比陣列中最小的數字還小

system.out.println(find(matrix, 16)); // 要查詢的數比陣列中最大的數字還大

system.out.println(find(null, 16)); // 健壯性測試,輸入空指標

}}

劍指offer 3 二維陣列中的查詢

題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。解題思路 從二維陣列的右上角的元素開始判斷,因為此元素是它所在行的最大數,是它所在的列的最小數。如果它等於要查詢的數字,則查詢過...

劍指Offer 3 二維陣列中的查詢

題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。include using namespace std bool search int matrix,int rows,int ...

劍指offer 3 二維陣列中的查詢

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。查詢整數時,如果從左上角開始查詢,情況較為複雜,可以轉換思路,從右上角開始查詢 左邊數字比較小,右邊數字比較大,容易進行判斷。測試用例...