描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路:根据数组的特性来缩小范围
public class Solution {
public boolean Find(int target, int [][] array) {
int rows = 0,row = 0,
columns = 0, column = 0;
boolean found = false;
//初始化数据的长度、宽度
rows = array.length;
if(rows > 0)
columns = array[0].length;
//进入查找的前提条件
Integer targetTmp = target;
if(targetTmp != null && rows > 0 && columns > 0){
//从数组的左下角开始匹配
row = rows -1 ;
column = 0;
while(column < columns && row >= 0 ){
//找到
if(array[row][column] == target){
found = true;
break;
}else if(array[row][column] > target){
row--;
}else{
column++;
}
}
}
return found;
}
}