您的任务是生成一个程序,为其字符的每一个排列(包括原始程序)输出每个字符相对于原始程序的位置。
如果你的程序是
Derp你必须输出
[0, 1, 2, 3](或类似的)。这是因为D处于0第四位,e位于1st,r为2nd,p为3rd。
让我们来看看另一个程序,它是最初的程序,但是它的字符被置换了:
epDr你必须输出
[1, 3, 0, 2]因为e位于原始程序的1第一位,p处于3rd位置,D是0th,r是2nd。
如果原始程序有两个重复字符:
abcda -> [0, 1, 2, 3, 4]然后,对于排列,数组中的0和4必须按升序排列:
baadc -> [1, 0, 4, 3, 2] (0 first, then 4)floor(n/2)字符是相同的。aabb (可接受) aaaabc (不可接受,只允许地板(6/2)=3a)发布于 2016-12-21 05:35:10
https://codegolf.stackexchange.com/questions/104017
复制相似问题