题解 | #在字符串中找出连续最长的数字串#

在字符串中找出连续最长的数字串

http://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec

while True:
    try:
        a = list(input())
        b = []
        c = []
        a.append('e') #在本来的字符串最后加一个字符,如果字符串的最后是一串的数字的话下面的判断会无法将这串数字加入b中
        count = 0
        for i in range(len(a)):
            if(a[i].isdigit()): #若是数字
                count += 1 #计数加1
                b.append(a[i]) #将这个数字加入b
            else: #遇到不是数字的那么记录连续数字中断
                c.append(b + [count]) #将找到的连续数字与连续数字的个数放入c
                b = [] #b和count清空
                count = 0
        c = sorted(c,key=lambda ele:ele[-1],reverse = True)  #按照连续数字字符串的长度从大到小排序
        d = []
        max_len = c[0][-1] #记录最长的长度
        for i in range(len(c)):
            if(c[i][-1] == max_len): #将所有的最长长度的字符串放到c中
                d.append(c[i])
        out_str = ''
        for i in range(len(d)):
            out_str = out_str + ''.join(d[i][:-1])  #将所有的最长数字字符串连到一起
        print(out_str + ',' + str(max_len)) #按要求输出
    except:
        break

华为机试题解(prod.by kedao) 文章被收录于专栏

华为实习机试题解

全部评论

相关推荐

能干的三文鱼刷了100道题:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
评论
3
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务