在关于前缀代码的挑战中,我们了解到前缀代码是唯一可串联的。
这意味着它们可以在没有分隔符且没有歧义的情况下连接在一起。
例如,由于[1,2,45]是前缀代码,因此我可以将它们连接在一起而无需使用分隔符,例如1245245112145,这样就不会产生歧义。
然而,相反的情况并不总是正确的。
例如,[3,34]不是前缀代码。但是,我可以这样做:3333434334333,并且不会有任何歧义。您只需要一个更智能的解析器即可。
但是,[1,11]不是唯一可串联的,因为1111可以用5种方式解释。
目标
您的任务是编写一个将字符串列表(ASCII)作为输入的程序/函数,并确定它们是否是唯一可串联的。
细节
重复计数为假。
计分
这是代码高尔夫球。以字节为单位的最短解决方案获胜。
测试用例
真正:
[12,21,112]
[12,112,1112]
[3,4,35]
[2,3,352]
假:
[1,1]
[1,2,112]
[1,23,4,12,34]
[1,2,35,4,123,58,8]
只是为了确保我正确理解了挑战,如果其中一个字符串由其他字符串的任意组合组成,它不是唯一可串联的吗?您应该使这些细节更加清晰。
—
詹姆斯,
您确定这不等于暂停问题吗?
—
feersum '16
您能证明为什么这等同于暂停问题吗?
—
Leaky Nun
我没有说是,但是想知道可能是。经过一番思考之后,我相信事实并非如此。
—
feersum '16
—
多重