L'altro giorno stavamo scrivendo frasi con mia figlia con una lettera con il magnete del frigorifero. Sebbene siamo stati in grado di creare alcuni ( I love cat
), non avevamo abbastanza lettere per creare gli altri ( I love you too
) a causa di una quantità insufficiente di lettere o
(4)
Ho poi scoperto che mentre un set includeva 3 e
lettere aveva solo 2 o
lettere. Probabilmente ispirato da http://en.wikipedia.org/wiki/Letter_frequency, ciò non rifletterebbe ancora la situazione reale "sul frigorifero".
Problema
Dato il file di testo in cui ogni riga contiene una "frase di esempio" si vorrebbe scrivere sul frigorifero, proporre un set di alfabeto con un numero minimo di lettere ma comunque sufficiente per scrivere ogni frase individualmente.
Nota: ignora i casi, tutte le lettere del magnete sono comunque maiuscole.
Ingresso
Il file contiene frasi separate da una nuova riga:
hello
i love cat
i love dog
i love mommy
mommy loves daddy
Produzione
Fornisci di nuovo un elenco ordinato di lettere, in cui ogni lettera appare solo tante volte per essere sufficiente per scrivere qualsiasi frase:
acdddeghillmmmoostvyy
(grazie, isaacg!)
Vincitore
Implementazione più breve (codice)
AGGIORNATO: Test
Ho creato un test aggiuntivo e ho provato con varie risposte qui:
M
un W
, o lateralmente N
con un Z
? ;-)
I
s.
_\¯
v
nell'output;)