给定一个带数字的列表,输出如下范围:
输入:[0, 5, 0]
将变为[0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0]
。
这是通过数组映射范围,因此我们首先必须创建范围[0, 5]
,即[0, 1, 2, 3, 4, 5]
。之后,我们使用5
来创建range [5, 0]
。附加在我们之前的范围中,这使我们:
[0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0]
让我们观察一下两个彼此相邻的相同数字的测试用例:
[3, 5, 5, 3], ranges:
[3, 5] = 3, 4, 5
[5, 5] = 5 (actually [5, 5] due to overlapping)
[5, 3] = 5, 4, 3
所以这会给我们[3, 4, 5, 5, 4, 3]
。
其他一些测试用例:
[1, 9] > [1, 2, 3, 4, 5, 6, 7, 8, 9]
[10, -10] > [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10]
[3, 0, 0, -3] > [3, 2, 1, 0, 0, -1, -2, -3]
[1, 3, 5, 7, 5, 3, 1, -1, -3] > [1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3]
输入将始终至少包含2个整数。
最短答案胜出!