Determine si la matriz bidimensional contiene un número entero, donde se ordenan las filas y columnas de la matriz bidimensional

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));	
	}
}
Publicado 6 artículos originales · Me gusta0 · Visitas 18

Supongo que te gusta

Origin blog.csdn.net/qq_35419705/article/details/105694188
Recomendado
Clasificación