题解 | #二维数组中的查找#
二维数组中的查找
http://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e
选择左下角开始为搜索起点,深搜一下
public boolean find(int target,int[][] array,int i,int j){
if(i<0||i>=array.length||j<0||j>=array[0].length) return false;
if(array[i][j]==target) return true;
else if(array[i][j]>target){
//向上搜索
return find(target,array,i-1,j);
}
else{
//向右搜索
return find(target,array,i,j+1);
}
}
public boolean Find(int target, int [][] array) {
//从左下角开始搜索,二分法?不住于
return find(target,array,array.length-1,0);
}
}