1___二维数组中的查找

题目描述:

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

解决代码:

public class Solution {
    //思路:从左下角开始找:
    //比该元素大,往右找,比该元素小,往上找。
    public boolean Find(int target, int [][] array) {
        int rows=array.length;
        int cols=array[0].length;
        int i;
        int j;
        boolean flag=false;
        for(i=rows-1,j=0;i>=0&&j<cols;){
            if(array[i][j]==target){
                flag=true;
                break;
            }
            if(array[i][j]<target){
                j++;
                continue;
            }
            if(array[i][j]>target){
                i--;
                continue;
            }
        }
        return flag;
    }
}

//array.length;    计算的是二维数组的行数
//array[0].length;  计算的是二维数组的列数

猜你喜欢

转载自www.cnblogs.com/xbfchder/p/11444332.html