位置意识
您的任务是生成一个程序,该程序针对其字符的每个排列(包括原始程序),输出每个字符相对于原始程序的位置。
如果您的程序是
Derp
你必须输出
[0, 1, 2, 3]
(或一些等效)。这是因为D
是在0
个位置,e
是在1
第一,R是2
Nd和p
所述3
次。
让我们采用另一个程序,它是原始程序,但其字符已排列:
epDr
您必须输出
[1, 3, 0, 2]
因为e
是在1
原始程序的第一位置,p
在3
第三位置,D
所述0
th,并且r
所述2
第二。
如果原始程序有两个重复字符:
abcda -> [0, 1, 2, 3, 4]
然后为了进行排列,数组中的0
和4
必须按升序排列:
baadc -> [1, 0, 4, 3, 2] (0 first, then 4)
规则:
- 您的程序必须至少包含两个唯一字符。
最多
floor(n/2)
字符应相同。aabb (acceptable) aaaabc (not acceptable, only floor(6/2) = 3 a's allowed)
程序的输出可以是按顺序包含所有字符位置的数组(或类似的东西),也可以是带有任何定界符的字符串,因此,它们非常好:
[0, 1, 2, 3] 0,1,2,3 0 1 2 3
7
我不认为此挑战会提供任何非平凡的解决方案,因为几乎任何长度> =〜5的语言的任何答案都不会成为每种排列的有效程序,更不用说解决当前挑战的程序了。
—
orlp 2016年
@ Qwerp-Derp在沙盒上几乎没人说什么。前一段时间,我在沙盒中待了大约一个月(或大约一个小时)后发布了一个问题。只有当我发布它时,人们才会指出错误,而反对票却下雨了。在我看来,沙盒是没有用的。
—
伊斯梅尔·米格尔
一次,我觉得在这个挑战中,更长的答案会比简短的答案更令人印象深刻。
—
Wojowu
@Wojowu如果可以的话,我可以进行代码保龄球 -最长的程序获胜。
—
clismique 2016年
12
R中的程序有效吗?它会简单地打印12
,如果排列的话;21
。