Файлы и большие данные · тема 4 из 8

Самая длинная цепочка

Обработка текста · ЕГЭ 24

01 · Пойми идею

Одна идея — один пример

Для последовательных одинаковых символов храни длину текущей цепочки и лучший результат. Смена символа начинает цепочку длины 1.

s = "AABBBAC"
print(s.count("B"))

02 · Добавь следующий шаг

Теперь решаем самостоятельно

Обновляй максимум на каждой позиции, иначе можно потерять цепочку в самом конце строки.

Твоя задача

Вводится непустая строка из A, B, C. Выведи максимальную длину подряд идущих одинаковых символов.

Пример входных данных и результата

Ввод:

AABBBAC

Вывод:

3
Черновик и файл программы

Черновик сохраняется в этом браузере. Ctrl/⌘ + S — сохранить.

Результаты проверки

Напиши решение и нажми «Проверить код». Данные каждого теста подаются автоматически.

    Нужна подсказка?

    При совпадении с предыдущим увеличь current; иначе присвой 1.

    На чём легко ошибиться

    s.count(ch) не отличает разорванные цепочки.

    Разобрать один из способов решения

    Сначала попробуй написать код сам. Сравни алгоритм, затем закрой разбор и воспроизведи решение без подсказки.

    s = input()
    current = best = 1
    for i in range(1, len(s)):
        current = current + 1 if s[i] == s[i-1] else 1
        best = max(best, current)
    print(best)

    Тесты проверяют результат на учебных примерах, но не доказывают правильность для любого входа. Объясни каждую строку и предложи собственный тест.

    03 · Закрепи

    Перед следующей темой

    Назови входные данные, результат, основной шаг алгоритма и граничный случай. Если использовал разбор, напиши решение заново. Для свободных экспериментов открой Python онлайн.

    Все темы этого курса
    1. Файл: прочитать и проверить формат
    2. Строки таблицы и повторы
    3. Соседние элементы и максимум
    4. Самая длинная цепочка
    5. Отбор под ограничение
    6. От полного перебора к O(n)
    7. Кратчайший путь: хранить лучший результат
    8. Точки, расстояние и выбор центра

    Программа подготовлена по темам банка «Академии С». Официальные документы: ФИПИ. Справочник языка: Python. Не все экзаменационные задачи нужно решать программой: например, работа в таблицах требует освоения табличного редактора.