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

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

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

while True:
    try:
        s = input()
        N = len(s)

        max_len = 0
        digits = ''
        for i, c in enumerate(s):
            k = 0 # 标记遍历跳跃点
            if c.isdigit():
                # print("begin: ", c)
                for j in range(i, N):
                    # 注意结尾的边界条件
                    # 可能不停地刷新max_len是个不错的处理结尾边界问题的好方法
                    if s[j].isdigit():
                        if j-i+1 > max_len:
                            max_len = j-i+1
                            digits = s[i:j+1]
                        elif j-i+1 == max_len:
                            digits += s[i:j+1]
                    # 不用考虑结尾的边界情况
                    elif not s[j].isdigit():
                        break
                # print(max_len, "====", digits)
            # 跳过遍历过的点
            if i < k:
                continue
        print(f"{digits},{max_len}")
    except:
        break

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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