代码运行良好,输出看起来也不错。但是我的 print
在 for 循环中,这让我怀疑编码是否正确:
s = 'azcbobobegghakl'
i = 0
increase = 0
longest = 1
for i in range(len(s) - 1):
if s[i+1] >= s[i]:
increase +=1
else:
if increase > longest:
longest = increase
print ("
Longest substring in alphabetical order is:"+""+s[i-longest:i+1])
increase =0
最佳答案
我会这样写:
s = 'abcaakabcdeakk'
i = 0
increase = 0
longest = 1
longest_end = 1
for i in range(len(s)):
if i < len(s)-1 and s[i+1] >= s[i]:
increase += 1
else:
if increase > longest:
longest = increase
longest_end = i
increase = 0
print ("Longest substring in alphabetical order is:" + s[longest_end-longest:longest_end+1])
关于algorithm - 编写一个程序,打印 s 中字母按字母顺序出现的最长子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44887941/