Inspirado por esse desafio maravilhoso (baseado no número de opiniões e votos), que, na minha humilde opinião, tem poucas respostas.
Dada (por qualquer meio) uma lista de cadeias, retorne (por qualquer meio) um conjunto de letras que, quando removidas das cadeias fornecidas, deixa o comprimento total (o que resta) das cadeias o menor possível, mantendo cada string exclusiva e com pelo menos um caractere.
Exemplos:
Dado "dia" e "dia"; retorne "ay", porque as seqüências fornecidas serão "D" e "d" quando os caracteres "ay" forem removidos.
Dado "Olá, mundo!", "Olá, mundo." E "Olá, mundo"; return "Helo Wrd" fornece porque as strings serão "!", "w." e "w" quando os caracteres "Helo Wrd" (com um espaço) forem removidos.
Dado "século", "década", "ano", "mês", "semana", "dia", "hora", "minuto" e "segundo"; retorne "centurdowi" porque as palavras fornecidas serão "y", "a", "ya", "mh", "k", "ay", "h", "m", "s" quando os caracteres "centurdowi" " estão removidos.
A ordem e o formato do conjunto retornado não são importantes.