Top.Mail.Ru

Перечень алгоритмов

26. Строки. Поиск подстроки

Строка состоит из символов латинского алфавита A, B, C. Найдите длину самой длинной подцепочки, состоящей из символов C

Исходная строка

s ='CCCBACCBCCCCCACCABCACCACCCCAAABAABBBCCCCBCCCCBBBCBCBACCACCABCACCBBBBCACBCCCCCAC'

Способ № 1 Использование цикла for

cur = mx = ''   #текущая и макс длина
for x in s:
    
if x=='C':
         cur +=
"C"
        
mx = max(cur, mx, key=len)
    
else:
         cur=
''
print(mx,len(mx))

# CCCCC 5
Временная сложность: O (n)

 

Способ № 2 Использование метода replace()

s = s.replace('A',' ').replace('B', ' ')
mx = max(s.split(' '), key=len)
print(mx,len(mx))

# CCCCC 5
Временная сложность: O (n)