【劍指offer】面試題 4.二維數組中的查找
阿新 • • 發佈:2018-05-12
這樣的 || int targe arr find off col lean
面試題 4. 二維數組中的查找
題目:在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。
請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。
舉例
例如下面的二維數組就是每行、每列都遞增排列。如果在這個數組中查找數字7,則返回true;如果查找數字5,由於
數組不含有該數字,則返回false。
1 2 8 9
2 4 9 12
4 7 10 13
6 8 11 15
復雜度:O(M + N) + O(1)
代碼實現
public class Solution { public boolean Find(int target, int [][] array) { if(array==null||array.length==0||array[0].length==0) return false; int row = array.length,col = array[0].length; int r = 0,c = col - 1; while(r<=row-1&&c>=0){ if(target==array[r][c]){ return true; }else if(target>array[r][c]){ r++; }else{ c--; } } return false; } }
【劍指offer】面試題 4.二維數組中的查找