挑战的灵感就是我在某个地方看到的:
“修女”这个词就是字母n做旋转的意思。
你的挑战是拿一根绳子,并确定它是否是第一个字母做一个旋转轮。
字符串是指在下列情况下执行轮转的字母:
移动字母是n
和u
,m
和w
,b
和q
。请注意,n
和w
在一起并不是任意的字母,w
和b
也不是。
其他规则:
n
/u
/m
/w
/b
/q
需要处理。Input -> Output
nun -> truthy
nunun -> truthy
nunununu -> falsy
wmw -> truthy
wmwun -> falsy
bqbqbqbqbqb -> truthy
v^v^v -> falsy
AVAVA -> falsy
OOO -> falsy
ununununu -> truthy
nunwmwnun -> falsy
nun unun -> falsy
nunwmw -> falsy
nnuunnuunnuu -> falsy
nwnwnwnwn -> falsy
m -> falsy
nunuuunun -> falsy
和密码-高尔夫一样,最短的代码(在每种语言中)都是赢家!
发布于 2017-08-02 17:16:56
发布于 2017-08-02 17:25:26
lambda n:''.join(sorted({*n[1::2]}|{*n[::2]}))in"nu,mw,bq"*(n==n[::-1])
-1要感谢“超中微子”,-13要感谢@ovs
如果发现上述任何测试用例都失败了,则有另一种选择:
lambda n:(sorted(list({*n[1::2]}.union({*n[::2]})))in[[*'nu'],[*'mw'],[*'bq']])*n[0]==n[-1]
''.join(sorted(list({*n[1::2]}).union({*n[::2]}))))
-获取奇数索引处的字符和偶数索引处的字符,去复制它们并对它们的联合所形成的列表进行排序。in'nu,mw,bq'
-检查它们是否是有效的购物车字母组合.n[0]==n[-1]
-检查第一个字符是否与最后一个字符相同。https://codegolf.stackexchange.com/questions/137228
复制相似问题