Descripción del problema: en una matriz bidimensional (cada matriz unidimensional tiene la misma longitud), cada fila se ordena en orden creciente de izquierda a derecha, y cada columna se ordena en orden creciente de arriba a abajo. Complete una función, ingrese una matriz bidimensional y un número entero, y determine si la matriz contiene el número entero.
package hgy.java.arithmetic;
public class FindNumFromDeArray {
public static boolean find(int target, int [][] array) {
int row = array.length;//行
int column = array[0].length;//列
//System.out.println(row+" "+column);
//从左下角到右上角查询
int i = row-1;
int j = 0;
System.out.println(i + " " + j);
while(i>=0&&j<column){
if(array[i][j]==target)
return true;
else if(array[i][j]>target)
i--;
else if(array[i][j]<target)
j++;
System.out.println(i + " " + j);
}
return false;
}
public static void main(String[] args) {
int [][]arr = {{1,2,3,5,6},{2,4,5,7,9},{4,5,6,8,9}};
//System.out.println(Arrays.deepToString(arr));
//打印二维数组
for(int[]a:arr){
for(int aa:a)
System.out.print(aa+" ");
System.out.println();
}
System.out.println(find(9,arr));
}
}