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;  计算的是二维数组的列数

 

posted @ 2019-09-01 23:53  德鲁大叔817  阅读(202)  评论(0编辑  收藏  举报