首页 > 试题广场 >

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

[编程题]在字符串中找出连续最长的数字串
  • 热度指数:144363 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入一个字符串,返回其最长的数字子串,以及其长度。若有多个最长的数字子串,则将它们全部输出(按原字符串的相对位置)
本题含有多组样例输入。

数据范围:字符串长度 , 保证每组输入都至少含有一个数字

输入描述:

输入一个字符串。1<=len(字符串)<=200



输出描述:

输出字符串中最长的数字字符串和它的长度,中间用逗号间隔。如果有相同长度的串,则要一块儿输出(中间不要输出空格)。

示例1

输入

abcd12345ed125ss123058789
a8a72a6a5yy98y65ee1r2

输出

123058789,9
729865,2

说明

样例一最长的数字子串为123058789,长度为9
样例二最长的数字子串有72,98,65,长度都为2    
python 
# coding: utf-8
import re
def func(s):
    max_str = ''
    nums = re.findall(r'\d+', s)
    max_length = len(max(nums,key=len))
    for i in nums:
        if len(i) == max_length:
            max_str += i
    print max_str + ',' + str(max_length)
if __name__ == "__main__":
    import sys
    try:
        while True:
            line1 = sys.stdin.readline().strip()
            func(line1)
    except:
        pass


发表于 2022-04-14 23:49:11 回复(0)