Блок задач

2. Алгоритмы

Сложность 5

Задача «Поиск подстроки в строке с помощью Z-функции»

Реализовать функцию поиска подстроки в строке с помощью Z-функции.

def substring_search(text: str, pattern: str) -> List[int]:
    pass

text – строка, в которой ищем («стог сена»), pattern – строка, которую ищем («иголка»).

Обязательно наличие тестов.