挑战
按字符数计算的最短代码,它采用单个输入整数N
(N >= 3) 并返回一个索引数组,在迭代时将根据 JPEG“之字形”扫描模式遍历N
x矩阵。N
以下是遍历 8x8 矩阵src的示例:
例子
(中间矩阵不是输入或输出的一部分,只是输入表示的 NxN 矩阵的表示。)
1 2 3
(Input) 3 --> 4 5 6 --> 1 2 4 7 5 3 6 8 9 (Output)
7 8 9
1 2 3 4
(Input) 4 --> 5 6 7 8 --> 1 2 5 9 6 3 4 7 10 13 14 11 8 12 15 16 (Output)
9 10 11 12
13 14 15 16
笔记
- 结果数组的基数应该适合您的语言(例如,Matlab 数组是从 1 开始的,C++ 数组是从 0 开始的)。
- 这与这个问题有关。
奖金
扩展您的答案以获取两个输入N
和(N, M >=3) 并在x矩阵M
上执行相同的扫描。(在这种情况下是列数和行数。)N
M
N
M
奖金示例
1 2 3 4
(Input) 4 3 --> 5 6 7 8 --> 1 2 5 9 6 3 4 7 10 11 8 12 (Output)
9 10 11 12
1 2 3
(Input) 3 4 --> 4 5 6 --> 1 2 4 7 5 3 6 8 10 11 9 12 (Output)
7 8 9
10 11 12