Ctrl K

Сдвиг букв ради подпоследовательности

Средняя
Даны строки text и pattern из строчных латинских букв. Разрешается не больше одного раза выбрать в text любой набор позиций и каждую выбранную букву заменить на следующую по алфавиту по кругу: a → b, b → c, …, z → a. Верните True, если так можно добиться, чтобы pattern стала подпоследовательностью text, и False иначе. Подпоследовательность получается из строки удалением некоторых символов (возможно, ни одного) без изменения порядка остальных.
Пример 1
text="kpz", pattern="la" → True

Сдвигаем k → l и z → a: получается "lpa", и в ней есть "la" как подпоследовательность.

Пример 2
text="mmx", pattern="ny" → True

Сдвигаем первую m → n и x → y: "nmy" содержит "ny".

Пример 3
text="bd", pattern="f" → False

Буква f получается только из e или f, а их в text нет.

Ограничения
  • 1 ≤ len(text), len(pattern) ≤ 10⁵
  • Строки состоят только из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый длинный зеркальный кусок СредняяСлова в обратном порядке СредняяРовно одна правка СредняяКакая версия новее СредняяОбратный порядок слов на месте Средняя
загружаем Python…
Вход
text="kpz", pattern="la"
Ожидается
True

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