在乙個二維陣列中(每乙個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下的遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,
判斷陣列中是否含有該整數。
思路:矩陣有序,從左下角來看,向上遞減,向右遞增。
因此從左下角開始查詢,比查詢數字小,上移;比查詢數字大,右移。
**:時間複雜度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。思路 由例子可以看出所有數字的...