24.01 Поиск максимальной подстроки
Ошибка.
Попробуйте повторить позже
Текстовый файл состоит не более чем из символов V, D, M.
Найдите самую длинную последовательность, состоящую из рядом стоящих символов M, т.е. в последовательности VVMMVDVVVVMDMVDVVVV такой последовательностью будет MM.
Для выполнения этого задания следует написать программу. В ответ запишите длину искомой последовательности.
s = open("177.txt").readline() ans = 0 count = 1 for i in range(len(s) - 1): if s[i] == s[i + 1] and s[i] == "M": count += 1 ans = max(ans, count) else: count = 1 print(ans)
Ошибка.
Попробуйте повторить позже
Текстовый файл состоит не более чем из символов V, D, M.
Найдите самую длинную последовательность, состоящую из символов M, стоящих через 1 элемент (разница в индексе равна 2), т.е. в последовательности MVDMVMM такой последовательностью будет MVD(M)V(M)M.
Для выполнения этого задания следует написать программу. В ответ запишите длину искомой последовательности.
s = open("Задача 8.txt").read() maxim = 0 for i in range(2): count = 1 for j in range(i, len(s) - 2, 2): if s[j] == s[j + 2] and s[j] == "M": count += 1 maxim = max(count, maxim) else: count = 1 print(maxim)
Ошибка.
Попробуйте повторить позже
Текстовый файл состоит не более чем из символов V, D, M.
Найдите длины самой длинной последовательности одинаковых элементов и самой длинной последовательности разных элементов, т.е. в последовательности MVDMVMMDM такими последовательностями будут MM и MVDMVM.
Для выполнения этого задания следует написать программу. В ответ запишите максимальные длины последовательностей через пробел.
s = open("Задача 9.txt").read() ans = 0 count_1, count_2 = 1, 1 maxim_1, maxim_2 = 0, 0 for i in range(len(s) - 1): if s[i] == s[i + 1]: count_1 += 1 count_2 = 1 maxim_1 = max(maxim_1, count_1) else: count_2 += 1 count_1 = 1 maxim_2 = max(maxim_2, count_2) print(maxim_1, maxim_2)
Ошибка.
Попробуйте повторить позже
Текстовый файл состоит не более чем из символов V, D, M.
Найдите самую длинную последовательность, состоящую из пар разных элементов, т.е. в последовательности VVDMVDVMMVDVMDVDMMDD условию будет удовлетворять последовательность MMDD.
Для выполнения этого задания следует написать программу. В ответ запишите максимальную длину последовательности.
f = open(’Задача 10.txt’) s = f.read() + "+" # плюс один символ, чтобы проверить все пары maxim = 0 for j in range(2): count = 0 for i in range(j + 1, len(s) - 1, 2): if s[i] == s[i - 1] : count += 2 maxim = max(maxim, count) if s[i] == s[i + 1]: count = 0 else: count = 0 print(maxim)
Ошибка.
Попробуйте повторить позже
Текстовый файл состоит не более чем из символов латинского алфавита. Определите длину самой длинной последовательности гласных и самой длинной последовательности согласных букв в файле (буква Y - согласная). В ответе сначала указать максимальную длину последовательности гласных, затем максимальную длину последовательности согласных через пробел.
s = open("24.txt").read() gl = "AOUEI" countgl, countsogl = 1, 1 maxgl, maxsogl = 0, 0 for i in range(len(s) - 1): if s[i] in gl and s[i + 1] in gl: countgl += 1 maxgl = max(maxgl, countgl) else: countgl = 1 if not(s[i] in gl or s[i + 1] in gl): countsogl += 1 maxsogl = max(maxsogl, countsogl) else: countsogl = 1 print(maxgl, maxsogl)
Ошибка.
Попробуйте повторить позже
Текстовый файл состоит не более чем из символов P, S, H, K. Определите количество троек, состоящих из подряд идущих символов таких, что в тройке хотя бы две буквы одинаковы. Для выполнения этого задания следует написать программу.
s = f.read()
count = 0
for i in range(len(s) - 2):
if s[i] == s[i+1] or s[i+1] == s[i+2] or s[i] == s[i+2]:
count += 1
print(count)
Ошибка.
Попробуйте повторить позже
Текстовый файл состоит не более чем из символов A, B и C. Определите максимальное количество идущих подряд символов, среди которых каждые два соседних различны. Для выполнения этого задания следует написать программу.
answer = 0 current_count = 1 s = open(’244.txt’).read() for i in range(len(s) - 1): if (s[i] != s[i+1]): current_count += 1 answer = max(answer, current_count) else: current_count = 1 print(answer)
Ошибка.
Попробуйте повторить позже
Задание выполняется с использованием файла.
Напишите программу, которая находит подстроки, целиком состоящие из букв K и имеющие длину больше 1. Рядом с этой подстрокой не должно стоять букв K так как в этом случае они тоже входят в эту подстроку. В качестве ответа запишите через пробел количество таких строк, а также максимальную длину подобной строки. (Пример: AKKKC — для данной строки ответом будет 1 3).
f = open(’Задание 24.txt’) s = f.readline() counter = 1 ans = 0 maxim = 1 for i in range(len(s) - 1): if s[i] == s[i + 1] and s[i] == ’K’: counter += 1 else: if counter != 1: maxim = max(maxim, counter) ans += 1 counter = 1 if s[-1] == ’K’ and s[-2] == ’K’: ans += 1 maxim = max(maxim, counter) print(ans, maxim)
Ошибка.
Попробуйте повторить позже
Задание выполняется с использованием прилагаемых файлов
Текстовом файл состоит из не более чем символов, в которую могут входить заглавные буквы латинского алфавита A…Z и десятичные цифры.
Найдите длину самой длинной подцепочки, состоящей из одинаковых символов. Выведите сначала символ, из которого строится цепочка, а затем через пробел – длину этой цепочки. Если таких цепочек (максимальной длины) несколько, выведите информацию о первой встретившейся цепочке.
f = open(’Zadanie_24_ejg3.txt’) s = f.readline() counter = 1 maxim = 0 bukva = ’’ for i in range(len(s)-1): if s[i] == s[i+1]: counter += 1 if maxim < counter: maxim = counter bukva = s[i] else: counter = 1 print(bukva, maxim)
Ошибка.
Попробуйте повторить позже
Задание выполняется с использованием прилагаемых файлов
Текстовый файл состоит не более чем из десятичных цифр (0, 1, ... , 9).
Определите количество символов самой длинной последовательности, где не встречаются цифры 3 и 5.
Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
f = open(’Задание_24__f6wk.txt’) s = f.readline() maxim = 0 counter = 0 for i in range(len(s)): if s[i] != ’5’ and s[i] != ’3’: counter += 1 if counter > maxim: maxim = counter else: counter = 0 print(maxim)
Ошибка.
Попробуйте повторить позже
Задание выполняется с использованием прилагаемых файлов
В текстовом файле находится цепочка из символов латинского алфавита A, B, C, D, E, F. Найдите длину самой длинной подцепочки, не содержащей гласных букв.
Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
s = open(’244.txt’).readline() count = 0 ans = 0 gl = [’A’, ’E’] for i in range(len(s)): if s[i] not in gl: count += 1 ans = max(ans, count) else: count = 0 print(ans)
Ошибка.
Попробуйте повторить позже
Задание выполняется с использованием прилагаемых файлов
В текстовом файле находится цепочка из символов латинского алфавита A, B, C, D, E, F. Найдите длину самой длинной подцепочки, состоящей из символов A, C, D (в произвольном порядке).
Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
f = open(’Задание_24__h3i2.txt’) a = f.readline() c = 0 ans = 0 for i in range(len(a)): if a[i] in ’ACD’: c += 1 ans = max(ans, c) else: c = 0 print(ans)
Ошибка.
Попробуйте повторить позже
Текстовый файл состоит не более чем из символов . Определите максимальную длину цепочки,
состоящей из одного символа вида , или , или . В ответе запишите полученную длину.
Для выполнения этого задания следует написать программу.
file = open(’Задание_24__hi71__swy7.txt’) a = file.readline() symb = ’@#$’ c = [0] * 3 maxim = [0] * 3 for i in range(3): for j in range(len(a)): if a[j] == symb[i]: c[i] += 1 maxim[i] = max(maxim[i], c[i]) else: c[i] = 0 print(max(maxim))
Ошибка.
Попробуйте повторить позже
Задание выполняется с использованием прилагаемых файлов
В текстовом файле находится цепочка из символов, в которую могут входить заглавные буквы латинского алфавита и десятичные цифры.
Найдите длину самой длинной подцепочки, состоящей из одинаковых символов. Если в файле несколько подцепочек одинаковой длины, нужно взять первую из них. Выведите сначала символ, из которого строится эта подцепочка, а затем через пробел – длину этой подцепочки.
Длину подцепочки запишите в двоичной системе счисления
def perevod(n, a): s = ’’ while n != 0: s = str(n % a) + s n //= a return s alp = ’QWERTYUIOPASDFGHJKLZXCVBNM’ f = open(’Задание_24__iob7.txt’) s = f.readline() maxim = 0 counter = 1 for i in range(len(s)-1): if s[i] == s[i+1]: counter += 1 if counter > maxim: maxim = counter for j in range(26): if alp[j] == s[i]: letter = s[i] else: counter = 1 print(letter, perevod(maxim, 2))
Ошибка.
Попробуйте повторить позже
Задание выполняется с использованием прилагаемых файлов
Текстовый файл состоит не более чем из символов
Найдите самую длинную последовательность, состоящую из рядом стоящих символов , т.е. в последовательности такой последовательностью будет .
Для выполнения этого задания следует написать программу. В ответ запишите длину искомой последовательности.
s = open(’Задание_24__odge.txt’).read() ans = ’V’ while ans in s: ans += ’V’ print(len(ans) - 1)
Ошибка.
Попробуйте повторить позже
Задание выполняется с использованием прилагаемых файлов
Текстовый файл содержит последовательность из строчных и заглавных букв английского алфавита и цифр, всего не более символов. Запишите в ответе наибольшую (по длине) неубывающую подпоследовательность цифр. Если таких последовательностей несколько, запишите первую из них.
a = ’QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm’ # лишние символы, которые мы уберем из строки s = open(’Задание_24__ozau__t37z.txt’).readline() for i in a: s = s.replace(i,’*’) # заменяем все ненужные символы на один определенный символ s = s.split(’*’) # разбиваем строки по * mx_count = 1 s1 = ’’ for x in s: # проходимся по подстрокам цифр 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 # записываем текущую строку x else: count = 1 print(s1)
Ошибка.
Попробуйте повторить позже
Задание выполняется с использованием прилагаемых файлов
Текстовый файл состоит не более чем из десятичных цифр. Найдите максимальную длину последовательности, которая состоит из цифр одинаковой четности
file = open("Задание_24__pstv.txt") string = file.readline() c = 1 # нужна длина последовательности, не количество пар, поэтому начинаем с 1 maxim = 0 for i in range(len(string) - 1): if int(string[i]) % 2 == int(string[i + 1]) % 2: c += 1 maxim = max(maxim, c) else: c = 1 print(maxim)
Ошибка.
Попробуйте повторить позже
Текстовый файл состоит не более чем из символов V, D, M.
Найдите самую длинную последовательность, состоящую из рядом стоящих символов M, т.е. в последовательности VDMVDVDMMMVDVDVV такой последовательностью будет MMM.
Для выполнения этого задания следует написать программу. В ответ запишите длину искомой последовательности.
text = file.read()
cur_len = 1
max_len = 0
for i in range(len(text) - 1):
if text[i] == text[i + 1] == ’M’:
cur_len += 1
else:
cur_len = 1
max_len = max(cur_len, max_len)
print(max_len)
Ошибка.
Попробуйте повторить позже
Текстовый файл состоит не более чем из символов V, D, M.
Найдите самую длинную последовательность, состоящую из символов V, стоящих через элемент (разница в индексе равна ), т.е. в последовательности VDVMVDMVD такой последовательностью будет (V)D(V)M(V)DMVD.
Для выполнения этого задания следует написать программу. В ответ запишите длину искомой последовательности.
text = file.read()
max_len_1 = cur_len_1 = 0
for i in range(len(text) - 2):
if text[i] == text[i + 2] == ’V’:
cur_len_1 += 1
else:
cur_len_1 = 0
max_len_1 = max(cur_len_1, max_len_1)
max_len_2 = cur_len_2 = 0
for i in range(1, len(text) - 2):
if text[i] == text[i + 2] == ’V’:
cur_len_2 += 1
else:
cur_len_2 = 0
max_len_2 = max(cur_len_2, max_len_2)
print(max(max_len_1, max_len_2) + 1)
Ошибка.
Попробуйте повторить позже
Текстовый файл состоит не более чем из символов , , . Определите длину самой длинной последовательности идущих подряд символов .
Для выполнения этого задания следует написать программу. В ответе запишите длину искомой последовательности.
Решение 1:
s = open(’Задание_3_ДЗ.txt’).read() count = 1 maxim = 0 for i in range(len(s) - 1): if (s[i] == s[i + 1] and s[i] == "B"): count += 1 if (count > maxim): maxim = count else: count = 1 print(maxim)
Решение 2:
a = ’B’ maxim = 1 while a in s: a += ’B’ maxim = len(a) print(maxim - 1)