首字母,动起来!非常受欢迎,但参与度有限。这个问题将更容易解决,但希望在打高尔夫球时能有一些技巧。
只给您提供一串小写字母。对于每个字母,在字母表中的位置m,将其移动,使其从末尾成为第m个字母。如果m的值比字符串的长度长,请将其移到最前面。仅输出完全转换的字符串。
例子:
“长颈鹿”
- 'g'是字母表中的第7个字母,它已经是背面的第7个字母,因此请保留。
- “ i”是第9个字母,由于9大于单词的长度,因此它位于最前面,因此字符串变为
igraffe
- “ r”是第18个字母,就像“ i”一样,它位于前面:
rigaffe
- “ a”是第一个字母,它一直到最后:
rigffea
- “ f”是第6个字母,从背面变成第6个字母:
rfigfea
- 下一个'f'也是第6个字母,因此它也从后面移到第6个字母:
rffigea
- “ e”是第5个字母,从背面到第5个字母:
rfefiga
“花”
- 'f'(6)=>
flower
- 'l'(12)=>
lfower
- 'o'(15)=>
olfwer
- 'w'(23)=>
wolfer
- 'e'(5)=>
weolfr
- 'r'(18)=>
rweolf
“菠萝”
- 'p'(16)=>
pineapple
- 'i'(9)=>
ipneapple
- 'n'(14)=>
nipeapple
- 'e'(5)=>
nipaepple
- 'a'(1)=>
nipepplea
- 'p'(16)=>
pnipeplea
- 'p'(16)=>
ppnipelea
- 'l'(12)=>
lppnipeea
- 'e'(5)=>
lppneipea
(确保您移动尚未移动的e!在这里无关紧要,但在下面则可以。)
感谢@Neil通过以下3个改进来改进了测试用例:
“比萨”
- 'p'(16)=>
pizza
- 'i'(9)=>
ipzza
- 'z'(26)=>
zipza
- 'z'(26)=>
zzipa
(移动第二个z!) - 'a'(1)=>
zzipa
“胡言乱语”
- 'a'(1)=>
bracadabraa
- 'b'(2)=>
racadabraba
- 'r'(18)=>
racadabraba
- 'a'(1)=>
rcadabrabaa
- 'c'(3)=>
radabrabcaa
- 'a'(1)=>
rdabrabcaaa
- 'd'(4)=>
rabrabcdaaa
- 'a'(1)=>
rbrabcdaaaa
- 'b'(2)=>
rrabcdaaaba
- 'r'(18)=>
rrabcdaaaba
- 'a'(1)=>
rrbcdaaabaa
“字符”
- 'c'(3)=>
haractecrs
- 'h'(8)=>
arhactecrs
- 'a'(1)=>
rhactecrsa
- 'r'(18)=>
rhactecrsa
- 'a'(1)=>
rhctecrsaa
- 'c'(3)=>
rhtecrscaa
- 't'(20)=>
trhecrscaa
- 'e'(5)=>
trhcrescaa
- 'r'(18)=>
rtrhcescaa
- 's'(19)=>
srtrhcecaa