TGViewer
Алгоритмы - Собеседования, Олимпиады, ШАД Алгоритмы - Собеседования, Олимпиады, ШАД @algoses · 12.1K subscribers
Post #611 4.41K
Задача с собеседования в OYO

Напишите функцию для поиска наибольшего общего префикса среди массива строк. Если общего префикса нет, верните пустую строку "".

Пример 1:
Input: strs = ["flower","flow","flight"]
Output: "fl"

Пример 2:
Input: strs = ["dog","racecar","car"]
Output: ""
Explanation: У входных строк отсутствует общий префикс.

Ограничения:
1 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i] состоит только из строчных английских букв, если эта строка не пуста.

НАШ ЧАТ АЛГОРИТМИСТОВ

Решение
Основная идея: общий префикс не может быть длиннее самой короткой строки. Находим её через функцию min.
shortest - самая короткая строка.

Внешним циклом проходим по индексам и символам shortest, внутренним циклом - по строкам массива, проверяя, что у всех строк на этой же позиции стоит тот же символ:
Если встречаем несовпадение: выходим из цикла и возвращаем срез shortest[:i], состоящий из накопленного с прошлых итераций префикса;
Если все символы совпали: возвращаем shortest целиком, как общий префикс.


Сложность
O(n * m) - по времени (где n - кол-во строк в массиве, а m - длина самой короткой)
O(1) - по памяти (храним переменную shortest)


Код
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
if not strs:
return ""

shortest = min(strs, key=len)

for i, char in enumerate(shortest):
for word in strs:
if word[i] != char:
return shortest[:i]

return shortest


@algoses
  • ❤ 4
More from @algoses
  1. Sep 23, 2026Задача с собеседования в Zoho Даны две строки s и t. Определите, являются ли они изоморфны…
  2. Sep 19, 2026Полный цикл отбора в Spectral на SWE (HFT) Недавно рассказывали про отбор в Fast Forward н…
  3. Sep 18, 2026❗️ Яндекс открыл Intern Week Offer на стажировку, где всего за неделю ты можешь получить о…
  4. Sep 18, 2026Задача с собеседования в Zeta Зима близко! Во время соревнования ваша первая задача - спро…
  5. Sep 17, 2026Как стать квантом Сегодня многие талантливые амбициозные ребята хотят попасть в хфт и стат…
  6. Sep 13, 2026Как и зачем тащить ICPC ICPC в большинстве регионов проходит в 4 этапа. Даты зависят от ре…
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 →