Nesse desafio sobre o código de prefixo , aprendemos que os códigos de prefixo são concatenáveis exclusivamente.
Isso significa que eles podem ser unidos sem separador e sem ambiguidade.
Por exemplo, como [1,2,45] é um código de prefixo, eu posso uni-los sem separador, como tal: 1245245112145, e não haverá ambiguidade.
No entanto, o inverso nem sempre é verdadeiro.
Por exemplo, [3,34] não é um código de prefixo. No entanto, posso fazer o mesmo: 3333434334333 e não haverá ambiguidade. Você precisaria apenas de um analisador mais inteligente.
No entanto, [1,11] não é concatenável de forma única, porque 1111 pode ser interpretado de 5 maneiras.
Objetivo
Sua tarefa é escrever um programa / função que use uma lista de seqüências de caracteres (ASCII) como entrada e determinar se elas são concatenáveis exclusivamente.
Detalhes
Duplicar conta como falso.
Pontuação
Isso é código-golfe . A solução mais curta em bytes vence.
Casos de teste
Verdade:
[12,21,112]
[12,112,1112]
[3,4,35]
[2,3,352]
Falso:
[1,1]
[1,2,112]
[1,23,4,12,34]
[1,2,35,4,123,58,8]