На днях мы писали предложения с моей дочерью с магнитным письмом на холодильник. Хотя мы смогли сделать некоторые ( I love cat
), у нас не было достаточно букв, чтобы сделать другие ( I love you too
) из-за недостаточного количества букв o
(4)
Затем я узнал, что, хотя один набор включает в себя 3 e
буквы, он имеет только 2 o
буквы. Вероятно, вдохновленный http://en.wikipedia.org/wiki/Letter_frequency, это все равно не будет отражать реальную ситуацию "на холодильнике".
проблема
Учитывая текстовый файл, где каждая строка содержит «примерное предложение», которое нужно написать в холодильнике, предложите алфавитный набор с минимальным количеством букв, но все же достаточный для написания каждого предложения по отдельности.
Примечание: игнорируйте регистры, в любом случае все буквы-магниты являются заглавными.
вход
Файл содержит новые строки, разделенные предложениями:
hello
i love cat
i love dog
i love mommy
mommy loves daddy
Выход
Предоставьте обратно отсортированный список букв, где каждая буква появляется только столько раз, сколько достаточно, чтобы написать любое предложение:
acdddeghillmmmoostvyy
(спасибо, Исаак!)
победитель
Кратчайшая реализация (код)
ОБНОВЛЕНО: Тестирование
Я создал дополнительный тест и попробовал с различными ответами здесь:
M
для W
или боковую N
для Z
? ;-)
I
s.
_\¯
v
выводе должна быть буква ;)