给定一个字符串作为输入,输出该字符串的一个或多个变体,使得:
- 没有字符在其原始位置
- 没有与该字符原本相邻的字符相邻的字符
您可以假设,对于给定的字符串,这将始终是可能的,并且仅包含单写字母字符([a-z]
或者[A-Z]
您愿意)
请注意,相同字符的重复项不被视为唯一。
例如,给定输入programming
,输出不能m
在第7个或第8个字符处包含a,并且不能g
在第4个或第11个字符处包含a (索引为1)
例:
拿弦 abcdef
以下是有效的输出: daecfb
但是,以下内容将无效:fdbcae
在本示例中c
,b
它们仍然相邻。
邻接还包装,这意味着你不能做fdbeca
的f
和a
仍在相邻。
测试用例:
请注意,这些不是给定输入的唯一有效输出
撰写为input -> output
:
helowi -> ioewhl
mayube -> euabmy
stephens -> nhseespt
aabcdeffghij -> dbfhjfigaeca
得分:
这是代码高尔夫球,因此每种语言中最少的字节会获胜!
No character is adjacent to a character that it was originally adjacent to
。顺序对邻接没有关系吗?所以输入“ abcd”在任何地方都不能有“ ab”,在任何地方都不能有“ ba”吗?