Решение: Максимальная последовательность символов
Текстовый файл состоит из символов, обозначающих прописные буквы латинского алфавита.
Определите максимальное количество идущих подряд символов, среди которых никакие две буквы из набора букв $A$, $B$ и $C$ (с учетом повторений) не записаны подряд.
Для выполнения этого задания следует написать программу.
Решение по шагам
3 шагаОбозначим множество запрещённых для соседства букв: $S = \{A, B, C\}$. Нарушение возникает только тогда, когда и текущий, и предыдущий символы принадлежат $S$.
$$s_{i-1} \in S \land s_i \in S$$Выполняем однократный просмотр файла. Если найдено нарушение, длина текущего фрагмента становится равной 1. В противном случае она увеличивается на 1. Одновременно сохраняем наибольшее значение.
После обработки всего файла максимальная длина подходящей последовательности равна 84.
Где здесь ошибаются
Считать запрещёнными любые две одинаковые буквы, даже если они не входят в множество $\{A, B, C\}$.
Сбрасывать длину фрагмента при появлении одной буквы из множества $\{A, B, C\}$ вместо пары соседних таких букв.
Не учитывать текущий символ при начале нового фрагмента.