题解 | #蛇形矩阵#

蛇形矩阵

https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int m = in.nextInt();
        int[][] a = new int[m][m];

        int k = 1;
        for (int n = 1; n <= m; n++) {
            for (int i = 0; i < n; i++) {
                int j = n - i - 1;
                a[j][i] = k;
                k++;
            }
        }
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a[i].length; j++) {
                if (a[i][j] == 0) {
                    continue;
                }
                System.out.printf("%d ", a[i][j]);
            }
            System.out.println();
        }
    }
}

这是一个找规律的题目,先画个坐标

0 1 2 3 4

0 1 3 6 10 15

1 2 5 9 14

2 4 8 13

3 7 12

4 11

坐标规律如下:

当n=0时, i=0, j=n-i=0, 坐标(1,1)的值是 1;

当n=1时, i=0, j=n-i=1, 坐标(0,1)的值是 2

当n=1时, i=1, j=n-i=0, 坐标(1,0)的值是 3

当n=2时, i=0, j=n-i=2, 坐标(0,2)的值是 4

以此类推...

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
投递长鑫存储等公司7个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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