In questa sfida sul codice prefisso , abbiamo appreso che i codici prefisso sono concatenabili in modo univoco.
Ciò significa che possono essere uniti senza separatore e senza ambiguità.
Ad esempio, poiché [1,2,45] è un prefisso, posso unirli senza separatore in quanto tale: 1245245112145, e non ci sarà alcuna ambiguità.
Tuttavia, il contrario non è sempre vero.
Ad esempio, [3,34] non è un codice prefisso. Tuttavia, posso fare lo stesso: 3333434334333, e non ci saranno ambiguità. Avresti solo bisogno di un parser più intelligente.
Tuttavia, [1,11] non è concatenabile in modo univoco, poiché 1111 può essere interpretato in 5 modi.
Obbiettivo
Il tuo compito è quello di scrivere un programma / funzione che accetta un elenco di stringhe (ASCII) come input e determinare se sono concatenabili in modo univoco.
Dettagli
Il duplicato viene considerato falso.
punteggio
Questo è code-golf . Vince la soluzione più breve in byte.
Casi test
Vero:
[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]