题目描述
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
一上来就想到用二分,后来看了大神们的代码,觉得自己还是太菜了。
只要从左下角往上或者右边看,上面的都比这个数小,下面的都比这个数大,所以直接与目标比较,比目标大,指针上移,比目标小,指针下移,和目标一样就返回true,当越数组界时退出循环,并返回false。
附上自己写的java代码
public class Solution {
public boolean Find(int target, int [][] array) {
int m=array.length-1;
int i=0;
while(m>=0&&i<=array[0].length-1)
{
if(array[m][i]>target)
m--;
else if(array[m][i]<target)
i++;
else
return true;
}
return false;
}
}
牛客网剑指offer-01二维数组的查找
最新推荐文章于 2024-05-10 11:21:43 发布