Решение: Поиск подстроки CD
Текстовый файл состоит из заглавных букв латинского алфавита $A$, $B$, $C$, $D$, $E$ и $F$. Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых пара символов $CD$ (в указанном порядке) встречается ровно 160 раз. Для выполнения этого задания следует написать программу.
Решение по шагам
4 шагаСчитываем строку из файла и рассматриваем все её непрерывные фрагменты.
Для эффективного поиска используем два указателя. При расширении правой границы увеличиваем счётчик, если добавленная соседняя пара образует $CD$.
Если число найденных пар превышает 160, сдвигаем левую границу, уменьшая счётчик при удалении пары $CD$.
Для каждого фрагмента, в котором содержится ровно 160 пар $CD$, сравниваем его длину с текущим максимумом.
Определяется по содержимому прилагаемого текстового файла.
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Подсчитывают отдельные символы C и D вместо соседних пар CD.
Не учитывают пары CD, пересекающие границу изменяемого фрагмента.
Ищут фрагмент ровно со 160 буквами вместо 160 вхождений подстроки CD.