【编程题】二维数组中的查找(Java实现)
题目来源
题目描述
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
题目分析
从数组的右上角开始查找,如果找到则返回true,如果查找的数比当前数字大,则往下查找,确定范围在下方,如果查找的数比当前数字小,在往左查找,确定在数组的左方。
题目代码
public class Solution {
public boolean Find(int target, int [][] array) {
if(array==null||array.length<=0)
return false;
int row=array.length;
int col=array[0].length;
int i=0,j=col-1;
while(i<row&&j>=0){
if(target==array[i][j])
return true;
else if(target>array[i][j])
i++;
else
j--;
}
return false;
}
}