Это вопрос интервью с Google, и я нахожу большинство ответов в Интернете, используя HashMap или аналогичную структуру данных. Я пытаюсь найти решение, используя Trie, если это возможно. Кто-нибудь может дать мне несколько советов?
Вот вопрос: Вам предоставляется словарь, в виде файла, содержащего по одному слову в строке. Например,
abacus
deltoid
gaff
giraffe
microphone
reef
qar
Вам также предоставляется коллекция писем. Например,
{a, e, f, f, g, i, r, q}.
Задача состоит в том, чтобы найти самое длинное слово в словаре, которое может быть записано с помощью коллекции буквы. Например, правильный ответ для приведенных выше значений примера - "жираф". (Обратите внимание, что "риф" не является возможным ответом, потому что набор букв содержит только одно "е".)
Предпочтение было бы реализовано в Java.