Bestimmen Sie, ob das zweidimensionale Array eine Ganzzahl enthält, in der die Zeilen und Spalten des zweidimensionalen Arrays angeordnet sind

Problembeschreibung: In einem zweidimensionalen Array (jedes eindimensionale Array hat die gleiche Länge) wird jede Zeile in aufsteigender Reihenfolge von links nach rechts und jede Spalte in aufsteigender Reihenfolge von oben nach unten sortiert. Bitte vervollständigen Sie eine Funktion, geben Sie ein solches zweidimensionales Array und eine Ganzzahl ein und bestimmen Sie, ob das Array die Ganzzahl enthält.

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));	
	}
}
Veröffentlichte 6 Originalartikel · erhielt 0 · Besuche 18

Ich denke du magst

Origin blog.csdn.net/qq_35419705/article/details/105694188
Empfohlen
Rangfolge