Мой колледж подходит к концу, поэтому я начал готовиться к собеседованиям, чтобы получить РАБОТУ, и я наткнулся на этот вопрос, когда готовился к собеседованию.
- У вас есть набор из 10000 строк ascii (загруженных из файла)
- Строка вводится со стандартного ввода.
- Напишите псевдокод, который возвращает (на стандартный вывод) подмножество строк в (1), содержащих те же различные символы (независимо от порядка), что и входные данные в (2). Оптимизация по времени.
- Предположим, что эту функцию нужно будет вызывать неоднократно. Однократная инициализация строкового массива и его сохранение в памяти допустимы. Пожалуйста, избегайте решений, которые требуют перебора всех 10000 строк.
Может ли кто-нибудь предоставить мне общий псевдокод/алгоритм, как решить эту проблему? Я чешу голову, думая о решении. Я в основном знаком с Java.
Trie.add()
. Я считаю, что как толькоTrie
обнаружил родительский узел дляString
, у вас уже есть решение, поэтому держать объекты рядом и перемещаться по дереву — пустая трата усилий. Но, возможно, я не понимаю эту идею, поэтому мне интересно, может ли кто-нибудь запрограммировать этот подход. 17.11.2012