python输出最长字符串_使用Python打印最长的字母子字符串,并打结...

我将通过以下方式解决该问题:

>让我们定义两个字符串:当前字母递增的字符串和当前最长的字符串.

>两个字符串都以第一个字母初始化. (这样我们就可以随时阅读他们的最后一封信.)

>然后遍历输入字符串s(从第二个字符开始).

>如果当前字符c满足要求c> = current [-1],则将其添加到当前解决方案中.

>我们可能将当前字符串存储为最长.

>如果c不满足订购要求,则从新的解决方案电流= c开始.

>最后,我们打印最长的字符串.

s = "azcbobobegghakl"

longest = s[0]

current = s[0]

for c in s[1:]:

if c >= current[-1]:

current += c

if len(current) > len(longest):

longest = current

else:

current = c

print "Longest substring in alphabetical order is:", longest

如何修复您的代码.提到的条件:

使用>而不是比较len(result)中的> = len(final),即仅在最终解决方案较长时更新最终解决方案,而在长度相同的情况下则不会更新.

考虑迪伦斯的评论

你是对的.当s以最长的字母子字符串结尾时,我更新了代码和描述以正确处理情况. (其他移动:向下两行就足够了.)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值