面試題 二維陣列中尋找數字

2021-09-25 08:06:29 字數 619 閱讀 4603

在乙個二維陣列中(每乙個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,

每一列都按照從上到下的遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,

判斷陣列中是否含有該整數。

思路:矩陣有序,從左下角來看,向上遞減,向右遞增。

因此從左下角開始查詢,比查詢數字小,上移;比查詢數字大,右移。

**:時間複雜度o(m+n)

public class offer_twoarrfindnum ,,};

int target = 11;

boolean flag = findnum(arr,target);

}public static boolean findnum(int arr , int target)

int rowlens = arr.length;

int collens = arr[0].length;

for(int i = rowlens-1,j = 0;i >= 0 && j < collens;)

if(target < arr[i][j])

if(target > arr[i][j])

}return false;

}}

面試題 二維陣列中的查詢

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。例如下面的二維陣列就是每行 每列都遞增排序。如果在這個陣列中查詢數字7,則返回true 如果查詢數字5,由於陣列不含有該數字,則返回f...

面試題 二維陣列中的查詢

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。例如下面的二維陣列就是每行 每列都遞增排序。如果在這個陣列中查詢數字7,則返回true 如果查詢數字5,由於陣列不含有該數字,則返回f...

搜尋二維陣列(面試題3)

寫出乙個高效的演算法來搜尋 m n矩陣中的值。這個矩陣具有以下特性 1,4,7,11,15 2,5,8,12,19 3,6,9,16,22 10,13,14,17,24 18,21,23,26,30 查詢17,return true 查詢20,return false。思路 由例子可以看出所有數字的...