Мне нужен код, чтобы найти самую длинную алфавитную подстроку в строке (-ах). Это код, я использую:Поиск самой длинной алфавитной подстроки в более длинной строке
letter = s[0]
best = ''
for n in range(1, len(s)):
if len(letter) > len(best):
best = letter
if s[n] >= s[n-1]:
letter += s[n]
else:
letter = s[n]
Он работает большую часть времени, но иногда это дает неправильные ответы, и я запутался, почему это работает только иногда. например, когда:
S = 'maezsibmhzxhpprvx'
Он сказал, что ответ был "hpprv" в то время как это должно было быть "hpprvx".
В другом случае, когда
S = 'ysdxvkctcpxidnvaepz'
Он дал ответ "CPX", когда оно должно было быть "aepz".
Что здесь происходит?
Ваш код работает отлично и имеет ожидаемый выход. – RafaelC
Он работает, но @EllaP ясно говорит, что он не делает того, что ожидается иногда. –
Если вы видите ответы ниже с исправлением, у него явно не всегда есть ожидаемый результат. –