代码如下:
public class Demo1 { public static void main(String[] args) { int [][] arr=new int[][]{{1,2,8,9}, {2,4,9,12}, {4,7,10,13}, {6,8,11,15}}; int a=12; System.out.println(Demo1.find(arr,a)); } public static boolean find(int[][] arr,int number){ boolean flag =false; int rows=arr[0].length;//行数 int columns=arr.length;//列数 if( rows>0 && columns>0){ int row=0; int column = columns - 1; while( row >=0 && row < rows && column >= 0 ){ //如果比number小,则说明不在这一行,让行数+1 if ( arr[row][column] < number ){ ++row; } //如果比number大,则说明不在这一列,让列数-1 else if (arr[row][column] > number){ --column; }else return true; } } return flag; }
解析图如下: