Текстовый файл содержит только заглавные буквы латинского алфавита и десятичные цифры. Найдите минимальное количество идущих подряд символов, среди которых есть все цифры и нет ни одной буквы латинского алфавита от A до F. В ответе запишите число – количество символов в найденной последовательности.
Решение:
Python
s = open('8943.txt').readline().strip()
for n in 'ABCDEF':
s = s.replace(n, ' ')
arr = s.split()
alph = '0123456789'
min_len = float('inf')
for a in arr:
nums = {}
for i in range(len(a)):
if a[i] in alph:
nums.setdefault(a[i], []).append(i)
if len(nums) and len(nums) == len(alph):
pl = {c: 0 for c in alph}
while all(pl[c] < len(nums[c]) for c in alph):
curr = [nums[c][pl[c]] for c in alph]
curr.sort()
min_len = min(curr[-1] - curr[0] + 1, min_len)
j = curr[0]
pl[a[j]] += 1
print(min_len)
Ответ: \(13\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене