题目描述
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路:
由于数组从左到右递增,从上到下递增,可以从最右上角入手,如果等于该目标数,则返回true;如果大于目标数,则j–,目标数可能在其左边,如果小于目标数,则i++,目标数可能在其下方。
代码:
public class Solution {
public boolean Find(int target, int [][] array) {
int row=0;
int col=array[0].length-1;
while(row<=array.length-1 && col>=0){
if(array[row][col]==target)
return true;
else if(array[row][col]<target)
row++;
else
col--;
}
return false;
}
}