Java基础——二维数组打印回型数

    科技2024-06-27  66

    问题:打印回型数组 知识点:二维数组 思路:回型数组可以拆开为上下左右四条边,每一条边都是线性的排序,第二轮的每一条边都比第一轮的每一条边短一位数。代码如下:

    int n=6; int[][] arr = new int[n][n]; int minX=0,minY=0,maxX=n-1,maxY=n-1; int count=0; while (minX<=maxX){ for (int x = minX; x <=maxX ; x++) { arr[minY][x]=++count; } minY++; for (int y = minY; y <=maxY ; y++) { arr[y][maxX]=++count; } maxX--; for (int x = maxX; x >=minX ; x--) { arr[maxY][x]=++count; } maxY--; for (int y = maxY; y >=minY ; y--) { arr[y][minX]=++count; } minX++; } for (int i = 0; i <arr.length ; i++) { for (int j = 0; j <arr[i].length ; j++) { System.out.print(arr[i][j]+"\t"); } System.out.println(); }

    输出结果如下: 1 2 3 4 5 6 20 21 22 23 24 7 19 32 33 34 25 8 18 31 36 35 26 9 17 30 29 28 27 10 16 15 14 13 12 11

    Processed: 0.009, SQL: 8