Текстовый файл содержит строки различной длины, содержащие только заглавные буквы латинского алфавита (ABC…Z). Будем называть цепочкой группу идущих подряд одинаковых букв в одной строке. Определите, сколько раз буква, образующая самую длинную цепочку в файле, встречается в строке, содержащей эту цепочку. Если в файле есть несколько цепочек одинаковой максимальной длины, нужно выбрать ту из них, для которой общее количество образующих цепочку букв в соответствующей строке будет меньше.
Пример.
Пусть файл содержит такие строки:
ABBAAABBABBXY
XYYYXYAB
Здесь в первой строке есть цепочка
Приведем решение на языке Python.
f = open('24.txt')
mx=-1
mxall=-1
for s in f:
k=1
for i in range(len(s)-1):
if s[i]==s[i+1]:
k+=1
if k>mx:
mx=k
mxall=s.count(s[i])
if k==mx:
mxall = min(s.count(s[i]), mxall)
else:
k=1
print(mxall)
Ответ: 42.
Приведем решение Бориса Савельева на языке Python.
f = open('24.txt').readlines()
maxi=0
for i in range (0,len(f)):
s=f[i]
cnt = 1
for j in range (0,len(s)-1):
if s[j]==s[j+1]:
cnt+=1
else:
maxi=max(cnt,maxi)
cnt=1
ans=10**9
for i in range (0,len(f)):
s=f[i]
cnt = 1
for j in range (0,len(s)-1):
if s[j]==s[j+1]:
cnt+=1
else:
if cnt==maxi:
ans = min(ans, s.count(s[j - 1]))
cnt=1
print(ans)

