/**
*
* 解题思路:
* 首先选取数组中右上角的数字。
* 如果该数字等于要查找的数字,查找过程结束;
* 如果该数字大于要查找的数字,剔除这个数字所在的列,然后在剩余的数组范围中查找;
* 如果该数字小于要查找的数字,剔除这个数字所在的列,然后在剩余的数组范围中查找;
* 这样每一步都可以缩小查找的范围。
*@author: Administrator
*@date: 2017-1-9 下午09:15:33
*/
import java.util.Scanner;
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){
if(array[len][i]>target){
len--;
}
else if(array[len][i]<target){
i++;
}
else{
return true;
}
}
return false;
}
}
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
剑指offer——二维数组的查找
最新推荐文章于 2017-01-15 16:47:25 发布