Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 24. Информатика. ЕГЭ. Поляков-7223
- Просмотры: 266
- Изменено: 22 января 2026
(М. Шагитов) Текстовый файл состоит не более чем из \(10^6\) символов и содержит только заглавные буквы латинского алфавита. Определите длину самой длинной подпоследовательности символов, в которой нет повторяющихся букв.
Решение:
Python. Два указателя
s = open('7193.txt').readline().strip()
alph = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
p_char = {c: [] for c in alph}
count_char = {c: 0 for c in alph}
ml = 0
p_begin = 0
for p in range(len(s)):
if s[p] in alph:
p_char[s[p]].append(p)
count_char[s[p]] += 1
if any(count_char[c] > 1 for c in alph):
stmp = [c for c in alph if c != s[p]]
ml = max(ml, p - p_begin)
p_begin = p_char[s[p]].pop(0) + 1
count_char[s[p]] -= 1
for c in stmp:
p_char[c] = [t for t in p_char[c] if t >= p_begin]
count_char[c] = len(p_char[c])
ml = max(ml, len(s) - p_begin)
print(ml)
Ответ: \(23\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


