二维数组中的查找 --剑指offer

扶醉桌前 提交于 2020-03-04 12:57:07

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

思路 : 选择左下角点(右上点)都可以,因为这两个点比较特别 比同行的都小(大),比同列的都大(小)

这里我选的是左下点

    public boolean Find(int target, int [][] array) {
        if(array == null){
            return false;
        }
        int row=array.length;
        int col=array[0].length;
        int j =0;
        int i =row;
        while(j < col && i > 0){
            if(target > array[i-1][j]){
                j ++;
            }
            else if(target < array[i-1][j]){
                i --;
            }
            else {
                return true;
            }
        }
        return false;
    }

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!