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;
}
}
剑指offer 面试题3 二维数组中的查找 java版答案
最新推荐文章于 2024-01-07 23:50:30 发布