差异金字塔是一个金字塔,其中每个新对角线是最后一个对角线元素之间的差异的绝对值。例如,如果我们从数组开始
2 5 4 9 3 4
现在,我们将它们排列在对角线列中:
2
5
4
9
3
4
现在,我们填写下一个对角线。此数组的连续元素之间的绝对差异为:
3 1 5 6 1
这就是我们的下一个对角线。
2
3 5
1 4
5 9
6 3
1 4
重复直到金字塔被填满:
2
3 5
2 1 4
2 4 5 9
1 3 1 6 3
0 1 4 5 1 4
挑战
给定范围内的正整数列表,请[0, 9]
为该特定数组生成差金字塔的ASCII艺术表示形式。确保输入至少包含两个元素。您可以采用任何合理的格式获取这些数字。(数组/列表/无论您叫什么,字符串,命令行参数等)都允许在每一行尾随空格,并且最多可以在尾随新行。
测试IO
[1, 2, 3, 4, 5, 6, 7, 8, 9]
1
1 2
0 1 3
0 0 1 4
0 0 0 1 5
0 0 0 0 1 6
0 0 0 0 0 1 7
0 0 0 0 0 0 1 8
0 0 0 0 0 0 0 1 9
[4, 7]
4
3 7
[3, 3, 3]
3
0 3
0 0 3
[1, 3, 6, 3, 4, 9]
1
2 3
1 3 6
1 0 3 3
1 2 2 1 4
1 0 2 4 5 9
[8, 7, 3, 2, 4, 5, 9, 1, 6]
8
1 7
3 4 3
0 3 1 2
2 2 1 2 4
0 2 0 1 1 5
0 0 2 2 3 4 9
1 1 1 1 1 4 8 1
0 1 0 1 0 1 3 5 6
像往常一样,这是代码高尔夫球,因此存在标准漏洞,并且最短答案以字节为单位!