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