2次元配列の行と列が順序付けられている2次元配列に整数が含まれているかどうかを判別します

問題の説明:2次元配列(各1次元配列は同じ長さ)で、各行は左から右への昇順で並べ替えられ、各列は上から下への昇順で並べ替えられます。関数を完成させ、そのような2次元配列と整数を入力し、配列に整数が含まれているかどうかを判断してください。

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));	
	}
}
元の記事を6件公開 Likes0 訪問数18

おすすめ

転載: blog.csdn.net/qq_35419705/article/details/105694188