介绍:
在我发布了两个与Rainbow 相关的挑战:Codegolf Rainbow:使用整数数组1和Codegolf Rainbow:以黑白绘制 2之后,@ ChrisM在ASCII中做出了以下评论(Draw in Black-and-White)挑战:
也许您知道这一点,这是设计使然的(我知道彩虹也不是菱形或ascii,并且更高阶的位置会变得更加复杂),但是第二个彩虹中的颜色不是颠倒了吗?
他的确是正确的。当您看到两条彩虹时,第二条实际上是第一条的反射,因此颜色是相反的。有三个彩虹,这是实际的双彩虹,第三个彩虹是其他两个彩虹之一的反映。并且有四个,有两个彩虹,以及两个彩虹。
因此,让我们利用这个事实提出第三个相关挑战。
挑战:
输入:一个正整数n
,为>=2
,以及一个size的整数列表>= n+1
。
输出:相同的列表顺序如下:
- 首先将输入列表分为大小子列表
n
(尾随子列表可以是范围内的任何大小[1,n]
)。 - 然后,根据子列表的数量执行以下操作
m
:- 将
m - m//2
子列表的第一数量从最低到最高(其中//
是整数除法)进行排序。(即具有6个子列表,前三个将按从低到高的顺序排序;具有5个子列表时,前三个按从低到高的顺序排序。) - 将
m//2
子列表的最后数量从最高到最低排序(其中//
是整数除法)。(即具有6个子列表,后三个将按从高到低的顺序排序;具有5个子列表,后两个将按从高到低的顺序排序。)
- 将
- 将所有子列表合并在一起,再次形成一个列表
例子:
输入:n=7
和[3,2,1,-4,5,6,17,2,0,3,5,4,66,-7,7,6,-5,2,10]
步骤1:[[3,2,1,-4,5,6,17],[2,0,3,5,4,66,-7],[7,6,-5,2,10]]
步骤2:[[-4,1,2,3,5,6,17],[-7,0,2,3,4,5,66],[10,7,6,2,-5]]
步骤3 /输出:[-4,1,2,3,5,6,17,-7,0,2,3,4,5,66,10,7,6,2,-5]
输入:n=4
和[7,4,-8,9,3,19,0,-23,-13,13]
步骤1:[[7,4,-8,9],[3,19,0,-23],[-13,13]]
步骤2:[[-8,4,7,9],[-23,0,3,19],[13,-13]]
步骤3 /输出:[-8,4,7,9,-23,0,3,19,13,-13]
挑战规则:
- 整数输入
n
保证大于1。 - 整数列表的大小保证大于
n
。 - 尾随子列表可以小于
n
(可以在示例和测试用例中看到)。 - I / O格式在任何合理的格式中都是灵活的。可以是整数或小数的列表/数组,逗号/空格/换行符分隔的字符串,整数流等。(输出可能不是步骤2的列表的2D列表。步骤3将其展平为单个列表是这项挑战所必需的。)
通用规则:
- 这是 代码高尔夫球,因此以字节为单位的最短答案会获胜。
不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能简短的答案。 - 标准规则适用于您的答案,因此您可以使用STDIN / STDOUT,具有正确参数的函数/方法和返回类型的完整程序。您的来电。
- 默认漏洞是禁止的。
- 如果可能的话,请添加一个带有测试代码的链接。
- 另外,强烈建议为您的答案添加说明。
测试用例:
Inputs: n=7 and [3,2,1,-4,5,6,17,2,0,3,5,4,66,-7,7,6,-5,2,10]
Output: [-4,1,2,3,5,6,17,-7,0,2,3,4,5,66,10,7,6,2,-5]
Inputs: n=4 and [7,4,-8,9,3,19,0,-23,-13,13]
Output: [-8,4,7,9,-23,0,3,19,13,-13]
Inputs: n=2 and [7,-3,1]
Output: [-3,7,1]
Inputs: n=3 and [1,6,99,4,2]
Output: [1,6,99,4,2]
Inputs: n=2 and [5,2,9,3,-5,-5,11,-5,4,12,9,-2,0,4,1,10,11]
Output: [2,5,3,9,-5,-5,-5,11,4,12,9,-2,4,0,10,1,11]
Inputs: n=3 and [5,2,9,3,-5,-5,11,-5,4,12,9,-2,0,4,1,10,11]
Output: [2,5,9,-5,-5,3,-5,4,11,12,9,-2,4,1,0,11,10]