Задание 24 ЕГЭ: Самая длинная группа одинаковых символов
В файле записана длинная строка, и нужно найти самую длинную цепочку подряд идущих одинаковых символов или посчитать, сколько таких групп в строке. Группа — это кусок из одного и того же символа: как только символ меняется, предыдущая группа заканчивается и начинается новая. Строка сканируется одним проходом: счётчик текущей группы растёт на совпадающих символах и сбрасывается в единицу при смене символа, а рекорд сравнивается с текущей длиной на каждом шаге. Теряют балл, когда забывают обновить рекорд после последнего символа или не считают одиночный символ группой.
Что проверяет задание
Обработка строк. Это задание с коротким ответом, который проверяется автоматически. Одна арифметическая ошибка — ноль баллов, поэтому скорость и аккуратность здесь важнее гениальности.
Формулы к заданию
Разбор типовых задач
Пример 1
Дана строка AAABBCBBBB. Найдите длину самой длинной группы подряд идущих одинаковых символов.
- Идём слева направо и режем строку на группы по смене символа: AAA | BB | C | BBBB.
- Длины групп: 3, 2, 1, 4. Одиночный C — тоже группа, просто длины один.
- Максимум равен 4 — это группа BBBB в самом конце строки.
- Проверка через однопроходный алгоритм: L растёт 1, 2, 3 на AAA, сбрасывается на B, дойдёт до 2, сброс на C до 1, и снова растёт до 4 на BBBB; рекорд M обновляется каждый раз, когда L превышает старый.
Ответ: 4
Пример 2
Дана строка OOOXXOOOXXOO. Сколько всего групп в этой строке и какова длина самой длинной?
- Отмечаем смены символа: O меняется на X на четвёртой позиции, X на O — на шестой, O на X — на девятой, X на O — на одиннадцатой.
- Группы: OOO | XX | OOO | XX | OO — всего пять групп.
- Длины: 3, 2, 3, 2, 2; самая длинная группа имеет длину 3, и таких групп две (обе из O).
- Проверка подсчётом символов: 3 + 2 + 3 + 2 + 2 = 12 — вся строка распределена по группам без остатка.
Ответ: 5 групп; самая длинная 3
Пример 3
Дана строка CCDDDDDCCCDD. Найдите самую длинную группу и посчитайте, сколько групп состоит ровно из двух символов.
- Режем на группы: CC | DDDDD | CCC | DD.
- Длины: 2, 5, 3, 2. Самая длинная группа — DDDDD из пяти символов D.
- Группы ровно из двух символов: CC в начале и DD в конце — их две; группа CCC длины три не подходит.
- Проверка суммы: 2 + 5 + 3 + 2 = 12 символов — строка разобрана полностью.
Ответ: самая длинная DDDDD (5); две группы по два символа
Тренажёр задания (числа меняются)
Клавиши 1–9 выбирают вариант, Enter — «Проверить»
1 Строка состоит из двух групп одинаковых символов: длина первой группы — 3, длина второй — 7. Чему равна длина самой длинной группы этой строки?
2 Строка состоит из одинаковых по длине групп: всего групп 5, длина каждой — 5. Сколько символов в строке?
3 Самая длинная группа строки имеет длину 9, а самая короткая — длину 3. На сколько символов самая длинная группа длиннее самой короткой?
4 Строка: AAABBCBBBB. Сколько в ней групп подряд идущих одинаковых символов?
5 Строка устроена так: кусок из символов X длиной 3, затем кусок из символов Y длиной 4, затем снова кусок из X длиной 3. Какова длина всей строки?
6 Если каждый символ строки отличается от обоих своих соседей, то самая длинная группа в этой строке имеет длину 1.
7 Строка состоит из двух групп одинаковых символов: длина первой группы — 2, длина второй — 6. Чему равна длина самой длинной группы этой строки?
8 Строка состоит из одинаковых по длине групп: всего групп 6, длина каждой — 2. Сколько символов в строке?
Типичные ошибки
- Не обновляют рекорд после последнего символа: самая длинная группа часто упирается в конец строки, как BBBB в примере выше.
- Не считают одиночный символ группой: символ C между двумя группами — это полноценная группа длины один.
- При подсчёте групп забывают последнюю: после неё нет смены символа, но она всё равно группа.
- На экзамене строка в файле содержит тысячи символов — глазами её не просмотреть, нужен алгоритм или программа, а не ручной просмотр.
Повторить теорию по информатике
Разбор задания опирается на формулы и приёмы — если тема вспоминается с трудом, сначала пробегите уроки:
- 10 классКодирование информации и единицы измеренияУчимся считать информационный вес символа по формуле 2^i >= N и переводить биты в гигабайты без ошибок — на задачах про клавиатуру и флешку.
- 10 классPython: переменные, условия и циклы на новом уровнеРазбираем задачи на трассировку: что выведет программа с условиями и циклами, как работает range и где теряют баллы на отступах и знаках равенства.
- 10 классСистемы счисления: позиционные системы и переводыПовторяем системы счисления на новом уровне: развёрнутая запись, переводы делением и весами, быстрый мост 2-8-16 через триады и тетрады.
Формат задания 24 на экзамене
Балл за задание: 2. Ориентир по времени: ≈12 минут вместе с оформлением решения. Проверяемая тема: обработка строк. На тренировке лимитов нет — сначала точность, скорость придёт после 10–15 решённых задач. Планируйте экзамен так, чтобы не застревать: если решение не идёт — зафиксируйте промежуточный результат, переходите дальше и возвращайтесь в конце, потому что остальные задания дадут больше суммарных баллов.
Частые вопросы про задание 24
Как найти самую длинную группу одинаковых символов в строке?
Один проход с двумя переменными: текущая длина группы и рекорд. Символ совпал с предыдущим — увеличивай длину, иначе сбрасывай в единицу; после каждого шага сравнивай длину с рекордом.
Почему рекорд нужно обновлять на каждом шаге, а не в конце?
Если обновлять рекорд только при смене символа, последняя группа строки никогда его не обновит, а именно она часто оказывается самой длинной.
Считается ли одиночный символ группой?
Да: это группа длины один. При подсчёте групп и при поиске максимума одиночные символы участвуют наравне с длинными цепочками.
Как посчитать количество групп в строке?
Каждая смена символа означает конец одной группы и начало следующей: считай старты групп, начиная с первого символа строки. Для строки из N символов групп будет не больше N и не меньше одной.