У меня было интервью для позиции разработчика программного обеспечения. Это было телефонное интервью. Был задан вопрос, и это меня прослушивало весь деньСамый быстрый алгоритм поиска слова в сетке поиска слов
Интервьюер попросил меня придумать общий подход для поиска слова в сетке поиска слов. Для простоты нет необходимости беспокоиться о ограничениях памяти или искать по диагонали по сетке (слева направо и сверху вниз).
Лучшее, что я мог придумать было создать хэш-карту при запуске программы сетки (перед вызовом слово искать каждый раз) ... есть это создать хэш-карту характера =>строк, col индексы. Таким образом, вы можете выполнить начальное сканирование в O (1) раз. А затем оттуда в основном сканируют слева направо или сверху вниз.
У меня сложилось впечатление, что было лучшее решение, и я еще не был там. Каков самый быстрый алгоритм для решения такой проблемы?
Подсчитаем ли мы время предварительной расстановки, когда говорим «быстрее»? Если нет, то мы можем просто прекомпретировать все, и все запросы будут O (1). – irrelephant
Если у вас есть вопрос «пожалуйста, прочитайте, что хотел интервьюер». Боюсь, это невозможно. Если вы хотите знать, что они имели в виду, то, возможно, последуйте за тем, кто задает вопрос. Для этого существует огромный спектр решений, и для выбора «лучшего» требуется более подробная информация, чем приведенная здесь. – HostileFork