Вступить в клуб →
средняяpythonМассивы, строки и два указателя

Подпоследовательность строки: проверить вхождение символов по порядку

Реализуйте функцию is_subsequence(sub, text).

Вход: sub и text — строки.

Выход: True, если все символы sub встречаются в text в том же относительном порядке (не обязательно подряд), иначе False. Например, "abc" — подпоследовательность "ahbgdc", а "acb" — нет.

Правила:

  • сравнение регистрозависимое: "A" и "a" — разные символы;
  • повторы значимы: чтобы "aab" была подпоследовательностью, в text должны найтись две буквы a до буквы b.

Краевые случаи:

  • пустая sub — всегда True, в том числе при пустой text;
  • непустая sub и пустая text — False.

Требование по сложности: один проход по text, O(len(text)) времени и O(1) дополнительной памяти. Перебирать все подмножества символов нельзя.

заготовка решения

def is_subsequence(sub, text):
    # ваш код
    pass

🔒 Проверка ответа — для участников клуба

  • Автотесты прямо в браузере
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела