题解 | #蛇形矩阵#
蛇形矩阵
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
以此类推...

