一、问题描述:给定一个二维数组,其每一行从左到右递增排序,从上到下也是递增排序。给定一个数,判断这个数是否在该二维数组中。
二、解题思路:
1.注意题干:每一行从左到右是递增的,每一列从上到下是递增的,所以从右上角开始比较,target小于array[i][j]则j–,target大于array[i][j]则i++
public boolean Find(int target, int [][] array) {
int i = 0;
int j = array[0].length - 1;
while(i >= 0 && i < array.length && j >=0 && j < array[0].length) {
if(target == array[i][j]) {
return true;
}else if(target < array[i][j]) {
j--;
}else {
i++;
}
}
return false;
}