Дан массив слов и фраз, получающий ключ, вернитесь:Реализация основной автозаполнение в Java
- Все слова, которые начинаются с ключевого
- Все фразы, содержащие слово, начать с ключом
Например:
wordbank = ["bang", "base", "bore", "band", "This is a baffling problem];
key = "ba";
autocomplete(wordbank, key)
должен вернуть ["bang", "base", "band", "This is a baffling problem]
Я использовал Trie, чтобы сделать это, но просто интересно, если this is a good solution?
Для запуска, просто введите java Test
в терминале. Тестовый пример в ссылке не такой, как здесь.
Разве это не было бы значительно хуже космической сложности? Это означало бы сохранение одного и того же слова снова и снова. –
Узлы будут содержать только ссылки на строку автозаполнения, без самих строк. И будет такое же количество ссылок на слово, как и его длина. Таким образом, общее использование памяти будет пропорционально общей длине всех слов, т. Е. Асимптотически то же, что и существующее решение. – kgeorgiy