24.01 Поиск максимальной подстроки
Ошибка.
Попробуйте повторить позже
Задание выполняется с использованием прилагаемых файлов
Текстовый файл содержит последовательность из строчных и заглавных букв английского алфавита и цифр, всего не
более символов. Запишите в ответе наибольшую (по длине) неубывающую подпоследовательность цифр. Если таких
последовательностей несколько, запишите первую из них.
Решение через цикл:
Считаем файл. Заменим все буквы на звёзды и разделим по ним строки, таким образом у нас остались лишь непрерывные последовательности цифр. Пройдёмся по каждой последовательности и найдём максимальную неубывающую. Если нашлась последовательность больше, чем была ранннее - вырезаем её и записываем в переменную. Остаётся вывести полученную строку.
# Все буквы английского алфавита (заглавные и строчные) a = "QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm" # Читаем строку из файла s = open("24ege.txt").readline() # Заменяем все буквы на звездочки for i in a: s = s.replace(i, "*") # Разбиваем строку на части по звездочкам - получаем список из цифровых последовательностей s = s.split("*") # mx_count - максимальная длина неубывающей последовательности mx_count = 1 # s1 - самая длинная неубывающая последовательность цифр s1 = "" # Проходим по каждой цифровой последовательности for x in s: # count - счетчик длины текущей неубывающей последовательности count = 1 # Проходим по цифрам в текущей последовательности for i in range(len(x) - 1): # Проверяем, что текущая цифра <= следующей (неубывание) if x[i] <= x[i + 1]: count += 1 # Если нашли более длинную последовательность if count > mx_count: mx_count = count # Вырезаем найденную последовательность s1 = x[i + 2 - count:i + 2] else: # Последовательность нарушилась - сбрасываем счетчик count = 1 # Выводим первую самую длинную неубывающую последовательность цифр print(s1)
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!