剑指offer面试题4

来源:互联网 发布:大学生网络党校考试 编辑:程序博客网 时间:2024/06/05 00:14

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。从二维数组的左下角查找开始

public class find {    //二维数组的查找从左下角开始查    public static boolean find(int[][] array,int target){        int len = array.length-1;        int i=0;        while (len >=0 && i<array[0].length){            if (array[len][i]==target){                return  true;            }else if (array[len][i] > target){                len--;            }else {                i++;            }        }        return false;    }    public static void main(String[] args){        Scanner scan = new Scanner(System.in);        int m = scan.nextInt();        int n = scan.nextInt();        int[][] array = new int[m][n];        for(int i=0;i<m;i++){            for(int j=0;j<n;j++){                array[i][j]=scan.nextInt();            }        }        int target = scan.nextInt();        System.out.print(find(array,target));    }}