腾讯笔试 蛇形矩阵

来源:互联网 发布:阿里java工资水平 编辑:程序博客网 时间:2024/06/05 18:01

腾讯笔试 蛇形矩阵

输入:n

输出:蛇形矩阵


样例:

     3

     1 2 3 8 9 4 7 6 5


源码如下:

 

 package tengxun;import java.util.Scanner;public class Test {public static void main(String[] args) {@SuppressWarnings("resource")Scanner scan = new Scanner(System.in);int n,i,j,number,minx,miny,maxx,maxy;while(true){n = scan.nextInt();int arr[][] = new int[n][n];/*数组下标*/i = 0;j = 0;/*控制边界值*/minx = 0;miny = 0;maxx = n-1;maxy = n-1;number = 2;//填入数字arr[0][0]=1;while(true){/*向右*/while(j < maxy && number <= n*n){arr[i][++j] = number++;}minx+=1;/*向下*/while(i < maxx && number <= n*n){arr[++i][j] = number++;}maxy-=1;/*向左*/while(j > miny && number <= n*n){arr[i][--j] = number++;}maxx-=1;/*向上*/while(i > minx && number <= n*n){arr[--i][j] = number++;}miny+=1;if(number > n*n){break;}}for(int x = 0;x < n;x++)for(int y = 0;y < n;y++){System.out.print(arr[x][y]+" ");}}}}


0 0