一维动态规划,如果不希望遍历第二次,可以在第一次遍历的时候就构建result数组,不过python好像没必要=-=这么写着爽一点

s = input()


ord_0 = ord("0")
ord_9 = ord("9")
dp = [0] * (len(s) + 1)
# 这里dp的idx要后移一位
for idx, each in enumerate(s):
    if ord_0 <= ord(each) <= ord_9:
        dp[idx+1] = dp[idx] + 1
    else:
        dp[idx+1] = 0

result = []
max_len = max(dp)
for idx, each in enumerate(dp):
    if each == max_len:
        result.append(s[idx-max_len:idx])
print(f"{''.join(result)},{max_len}")