剑指offer 面试题3 二维数组中的查找 java版答案

来源:互联网 发布:java中dao怎么写 编辑:程序博客网 时间:2024/06/08 08:42
package OfferAnswer;/** * 面试题三    * 二维数组的查找 * @author lwk * */public class Answer03 {    public static void main(String[] args) {        int[][] matrix = {{1,2,8,9},{2,4,9,12},{4,7,10,13},{6,8,11,15}};        boolean bool = findNum(matrix,12);        System.out.println(bool);}      public static boolean findNum(int[][] matrix, int num){    if(matrix == null || matrix.length == 0){    return false;    }    int row = matrix.length;    int column = matrix[0].length;    int i = 0;    int j = column - 1;    //每次与数组右上角的元素进行比较    while(i < row && j >= 0){    //若与该元素相等,返回true    if(num == matrix[i][j]){    return true;    }else if(num > matrix[i][j]){//若比该元素大,则在数组下半部分继续查找    i++;    }else{//若比该元素小,则在数组左半部分继续查找    j--;    }    }    return false;    }} 

0 0