Ctrl K

Где в тексте спрятана анаграмма

Средняя
Даны строки text и pattern. Найдите все позиции i, с которых в text начинается кусок длины len(pattern), состоящий из тех же букв, что и pattern, в том же количестве (то есть кусок можно получить перестановкой букв pattern). Верните список таких начальных индексов (нумерация с нуля) в любом порядке. Если подходящих кусков нет, верните пустой список.
Пример 1
text="tealate", pattern="eat" → [0, 4]

Окна длины 3: «tea» (0), «eal», «ala», «lat», «ate» (4). Из букв e, a, t состоят «tea» и «ate».

Пример 2
text="zzzz", pattern="zz" → [0, 1, 2]

Окна могут перекрываться: подходят начала 0, 1 и 2.

Пример 3
text="ab", pattern="abc" → []

Образец длиннее текста, так что подходящих окон нет.

Ограничения
  • 1 ≤ len(text), len(pattern) ≤ 3·10⁴
  • обе строки состоят только из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый длинный фрагмент без повторов СредняяОтрезок из двух букв СредняяПовторяющиеся участки гена СредняяОкно с ограниченным набором букв СредняяКаждая буква не реже k раз Средняя
загружаем Python…
Вход
text="tealate", pattern="eat"
Ожидается
[0, 4]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 105 тестов на сервере, включая скрытые.