大神!!求用python写一个程序,找出给定字符串s中按字母表顺序排列的最长子串!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大神!!求用python写一个程序,找出给定字符串s中按字母表顺序排列的最长子串!相关的知识,希望对你有一定的参考价值。

例如给定s = 'babcbca',那么找出的最长子串为:‘abc’

对于有多个同长度的最长子串,输出第一个。例如s = 'abcbcd', 则找出的最长子串为‘abc’

求大神相助!
谢谢!!!

能不能写一个可以在http://www.pythoner.cn/labs/在线运行的版本T T

from string import lowercase

s = \'babcbcasdfweljlkjlefghisfsdfsd\'

cont = []
sub = []
for i in s:
    if len(sub) >= 1 and lowercase.index(sub[-1]) + 1 != lowercase.index(i):
            cont.append(\'\'.join(sub))
            sub = []
    sub.append(i)

cont = sorted(cont, key = len, reverse=True)
print cont[0]

 望采纳!


http://www.pythoner.cn/labs/在线运行连python内置函数都用不了,还是不要在这上面学习了,自己本地安装一个python环境也不费劲。

参考技术A import re
def fun(s):
    r = r'a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?'
    m = re.findall(r, s, re.I)
    m = sorted(m, key = len, reverse=True)
    return m[0]
print(fun('abcbcd'))

参考技术B p = 0
ans = ''
while True :
    ans1 = ''
    com = ''
    for i in (s[p:]):
        if str(i) > str(com):
            com = i
            ans1 = ans1 + i
        else:
            p = p + 1
            break
    if len(ans)< len(ans1):
        ans = ans1
    elif p+1 == len(s):
        break
print('Longest substring in alphabetical order is:'+ str(ans))

以上是关于大神!!求用python写一个程序,找出给定字符串s中按字母表顺序排列的最长子串!的主要内容,如果未能解决你的问题,请参考以下文章

求用java写一个工具程序,能够查找基本数据类型数组中的指定数据,并返回该数据的索引值。

求!1+!2+!3+!4+!5 注:!5=1*2*3*4*5; 求用C语言编出来 我学到循环结构 求解 最好写些注释让我容易懂

求用c#语言写一个将十进制转换为二进制的程序

python kmp 字符串匹配

求用java编写一个能够完成,对给定日期增加天数的方法

求用envi软件实现遥感影像的道路特征提取的步骤,急,求大神帮忙!!!