(Е. Фокин) Текстовый файл состоит не более чем из \(10^6\) символов и содержит только буквы латинского алфавита и десятичные цифры. Найдите максимальную длину подстроки, ограниченной с двух сторон одним и тем же символом и не содержащей этого символа в середине. В ответе укажите сначала символ, ограничивающий строку, а затем без разделителей длину найденной строки, включая граничные символы. Если в строке есть несколько подходящих подстрок одинаковой длины, нужно указать символ, имеющий больший числовой код. Например, для строки ABCDABECD ответом будет D6.
Решение:
Python
s = open('6225.txt').readline().strip()
alph = list('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ')
alph.sort(reverse=True)
ch = ''
ml = 0
for c in alph:
p = s.find(c)
p0 = p
while True:
p = s.find(c, p0 + 1)
if p == -1:
break
t = p - p0 + 1
if t > ml:
ch = c
ml = t
p0 = p
print(f'{ch}{ml}')
Ответ: \(D9747\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене