У меня есть контакты, хранящиеся на моем мобильном телефоне. Допустим, мои контакты
Ram
Hello
Hi
Feat
Eat
At
Когда я набираю букву 'A'
, я должен получить все соответствующие контакты: "Ram, Feat, Eat, At"
.
Теперь я набираю еще одну букву T
. Теперь моя общая строка "AT"
теперь моя программа должна повторно использовать результаты предыдущего поиска "A"
. Теперь он должен вернуть мне "Feat, Eat, At"
Разработайте и разработайте для этого программу.
Это вопрос интервью в Samsung mobile development
Я попытался решить с помощью Trie data structures
. Не удалось получить хорошее решение для повторного использования уже найденных результатов строки. Я также пробовал решение со структурой данных словаря, решение имеет тот же недостаток, что и Trie
.
Вопрос: как мне искать контакты для каждой буквы, набрав повторное использование результатов поиска ранее найденной строки? Какую структуру данных и алгоритм следует использовать для эффективного решения проблемы.
Я не прошу программы. Поэтому язык программирования для меня несуществен.
Состояние машины представляется хорошим решением. Кто-нибудь имеет предложение?
Решение должно быть достаточно быстрым для миллионов контактов.