下面是一个示例代码,用于找到一个字符串中按字母顺序排列的最长子串:
def longest_substring(s):
longest = ""
current = ""
for i in range(len(s)):
# 如果当前字符大于等于上一个字符,将其添加到当前子串中
if i == 0 or s[i] >= s[i-1]:
current += s[i]
else:
# 如果当前字符小于上一个字符,更新最长子串并重新开始当前子串
if len(current) > len(longest):
longest = current
current = s[i]
# 检查最后一个子串
if len(current) > len(longest):
longest = current
return longest
# 测试示例
s = "azcbobobegghakl"
print(longest_substring(s)) # 输出:"beggh"
在这个示例中,我们定义了一个longest_substring
函数来找到最长的按字母顺序排列的子串。我们使用两个变量longest
和current
来分别存储当前最长子串和当前正在构建的子串。我们遍历整个字符串s
,并根据当前字符与上一个字符的比较来决定是否将当前字符添加到当前子串中或者开始一个新的子串。每当遇到当前字符小于上一个字符的情况时,我们将当前子串与最长子串进行比较,并更新最长子串。最后,我们返回最长子串作为结果。
在给定示例字符串s = "azcbobobegghakl"
的情况下,输出为"beggh"
,这是最长的按字母顺序排列的子串。
上一篇:编写一个程序来找出一个数的质因数。例如:56的质因数是2、2、2、7。
下一篇:编写一个程序NumberCount,用于计算一个或多个文本文件中的数字数量(包括整数和浮点数)。(今天截止哈哈)