TGViewer
Алгоритмы - Собеседования, Олимпиады, ШАД Алгоритмы - Собеседования, Олимпиады, ШАД @algoses · 12.1K subscribers
Post #196 6.91K
Задача с компании HFT (немогу сказать с какой именно)
Вам дается n строк, где число n четное. Ваша задача найти наибольшее число k, такое что существует способ разделения строк на пары, что в каждой паре хотя бы k первых символов совпадает.
Например:
4
abcd
abbb
efaa
efcd
ответ 2.

Решение:
Самое простое что приходит в голову это забинарить число k, дальше записать в словарь первые k букв всех слов, дальше посмотреть что значения всех ключей в нашей хеш-таблице четное число. Такое решение работает за O(N * logK), где N - сумма длин всех строк, K - максимальная длина строки.

Попросят решить задачу за O(N)
Чтобы решить задачу за линию вам понадобиться знания по структуре БОР. Если вы не знает что такое БОР то приходити на наши курсы мы вас всему научим.

И так давайте запишем все слова в БОР - это займет у нас O(N) времени. Давайте потом пройдемся по бору и обходом dfs и выпишем все значения в терминальных вершинках бора в векторв vt.

Зачем мы так сделали ????
Посмотрите внимательные на строки которые находятся на позициях vt[i] и vt[i-1] (i-четное) вы можете заметить, что для строкм на позиции vt[i-1] лучше всего подходит строка на позиции vt[i], осталные все строки имеют общий префикс меньшей длины.
Так получается чисто из за обхода БОРа с помощью dfs. Если детальнее хотите понять этот момент то приглашаю вас на курсы.

И так вот у вас есть вектор vt, вы просто проходитесь по четным i и смотрите наибольший общий префикс для строк на позиции vt[i] и vt[i-1] обновляете ответ через минимум по всем таким общим префиксам.
Решение за O(N).


Код в комментариях.
  • 🔥 11
  • 👍 2
  • 🤷‍♂ 1
  • ❤ 1
More from @algoses
  1. Sep 28, 2026Собеседование по алгоритмам в ШАД 2026 На прикрепленном фото задачи, которые спрашивали в…
  2. Sep 27, 2026Ты поступишь в ШАД Старт набора на наши ШАДовские курсы: без воды и лишней теории, 3 месяц…
  3. Sep 26, 2026Задача с собеседования в Zoho Даны две строки: s и goal. Верните true, если можно поменять…
  4. Sep 25, 2026Как залететь в хфт и стать миллионером, залутать сочную зумершку? Обсудим в новом ролике.…
  5. Sep 23, 2026Задача с собеседования в Zoho Даны две строки s и t. Определите, являются ли они изоморфны…
  6. Sep 19, 2026Полный цикл отбора в Spectral на SWE (HFT) Недавно рассказывали про отбор в Fast Forward н…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →