1.题目
一个二维数组,从左上角开始,向右递增,向下递增,判断该数组中是否含有该整数
2.思路
可以从左下角开始搜索,如果目标整数大于当前值,向右移动,如果目标整数小于当前值,向上移动,如果目标整数等于当前值,返回true
3.代码
public class Solution {
public boolean Find(int target, int [][] array) {
int len=array.length-1;
int i=0;
while(len>=0&&i<=array[0].length-1)
//注意array[0].length-1和array.length-1不一定是同一个数,例如[[]],前者为-1,后者为0
{
if(array[len][i]>target)
len--;
else if(array[len][i]<target)
i++;
else
return true;
}
return false;
}
}