剑指Offer 二维数组中的查找

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

       时间限制:1秒 空间限制:32768K

 public boolean Find(int target, int [][] array) {
        int row=array.length-1; //从第几行开始
        int column=0;//从第几列开始 
       
        
        return findProcess(target,array,row,column);    
    }
    public boolean findProcess(int target ,int [][]array,int row,int column){
        if(row<0||column>array[0].length-1){
           return false;
        }else{
            if(array[row][column]==target){
                return true;
            }        
            else if(array[row][column]>target){
                row--;
                return  findProcess(target,array,row,column);
            }
            else{
               column++;
               return findProcess(target,array,row,column);
            }
    }

 

你可能感兴趣的:(Java)