复杂程序遇到的问题,该问题找到字符按字母顺序排列的最长子字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复杂程序遇到的问题,该问题找到字符按字母顺序排列的最长子字符串相关的知识,希望对你有一定的参考价值。
我发现此解决方案似乎有效:
def longest_ascending(s):
matches = []
current = [s[0]]
for index, character in enumerate(s[1:]):
if character >= s[index]:
current.append(character)
else:
matches.append(current)
current = [character]
matches.append(current)
return "".join(max(matches, key=len))
打印(最长的升序)
字符和索引s是否总是相同的字符?
例如,如果'ababc'存储在s变量中,则第一次'for'迭代将遍历'if'b'> = s [1]',基本上是'if'b' > ='b'',第二个将包含语句“ if'a'> ='a''',依此类推,这意味着“ else”块将永远不会实际执行。
所以,程序如何精确地发挥作用?
答案
注意,您正在枚举s[1:]
,但索引了s
。如果s为'abc
',则枚举中的第一对为(0, 'b')
,而s[0]
为'a'
。
以上是关于复杂程序遇到的问题,该问题找到字符按字母顺序排列的最长子字符串的主要内容,如果未能解决你的问题,请参考以下文章