在有序中进行查找,二分查找
二维数组中的查找
http://www.nowcoder.com/questionTerminal/abc3fe2ce8e146608e868a70efebf62e
需要找到沿着一个方向递减,另一个方递增的位置,这样才方便二分查找。
候选位置:左下角[length-1][0].
/** * 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 * 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 * @param target 整数 * @param array 二维数组 * @return 判断数组中是否含有该整数。 */ public boolean Find(int target, int [][] array) { if(array.length==0){ return false; } int row=array.length-1,cols=array[0].length-1; int col=0; while (row>=0&&col<=cols){ if(array[row][col]>target){ row-=1; }else if(array[row][col]<target){ col+=1; }else { return true; } } return false; }