Каждый год на ЕГЭ по информатике ученики спотыкаются об 24-ю задачу.
Файл из тысяч символов, условия с подстроками, счётчиками… Кажется, что это решают только гении.
На самом деле, если знать приём «скользящего окна», задача становится понятной даже десятикласснику.
Сейчас покажу на примерах. Текстовый файл состоит из десятичных цифр и заглавных латинских букв.
Определите максимальное количество идущих подряд символов, среди которых
– подстрока 2025 встречается не менее 90 раз
– и содержится ровно 80 букв Y
В ответ запишите количество символов в найденной последовательности. Если пытаться проверять каждую возможную подстроку, это будут миллионы вариантов — программа работает часами.
Нужен более «умный» способ — скользящее окно (или «два указателя»): мы идём по строке один раз, обновляя счётчики. Пусть строка: 2025Y20252025Y2025 Нужно найти кусок, где 2025 ≥2 раз и Y ровно 1 раз. Алгоритм: Так мы всегда храним только один кусок строки, а не перебираем миллионы. Комментарии: Ответ: