题解 | #回型矩阵#

回型矩阵

https://www.nowcoder.com/practice/36d5dfddc22c4f5b88a5b2a9de7db343

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int k = 1;
        int[][] arr = new int[n][n];
        int i = 0, i2 = 0, j = 0, j2 = 0, i3 = 0;
         for(i = 0;i< n;i++) {
            for (j = i; j < n; j++) { //从左到右
                if (arr[i][j] == 0)
                    arr[i][j] = k++;
                else { //在需要的时候停下,并记录j
                    break;
                }
            }
            j--;//注意上面的j多走了一格
            for (i2 = i + 1; i2 < n; i2++) { //从上到下
                if (arr[i2][j] == 0)
                    arr[i2][j] = k++;
                else { //在需要的时候停下,并记录i2
                    break;
                }
            }
            i2--;//注意上面的i2多走了一格
            for (j2 = j - 1; j2 >= 0; j2--) { //从右到左
                if (arr[i2][j2] == 0)
                    arr[i2][j2] = k++;
                else { //在需要的时候停下,并记录j2
                    break;
                }
            }
            j2++;//注意上面的j2多走了一格
            for (i3 = i2 - 1; i3 > i; i3--) { //从下到上
                if (arr[i3][j2] == 0)
                    arr[i3][j2] = k++;
                else { //在需要的时候停下,并记录i3
                    break;
                }
            }
            i3++;//注意上面的i3多走了一格
        }

        for (i = 0; i < n; i++) { //输出
            for (j = 0; j < n; j++) {
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }
    }
}

全部评论

相关推荐

难怪不开摄像头,全是简单的性格题,比大疆友善多了
NULL10086:今早上发的测评,我这还没做呢,官网上已经显示挂了
投递大疆等公司7个岗位
点赞 评论 收藏
分享
06-23 11:43
门头沟学院 Java
allin校招的烤冷...:我靠,今天中午我也是这个hr隔一个星期发消息给我。问的问题还是一模一样的😅
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务