【华为OD机试真题 python】 非严格递增连续数字序列

 时间限制:1s   空间限制:256MB

题目描述:

输入一个字符串仅包含大小写字母和数字,求字符串中包含的最长的非严格递增连续数字序列的长度(比如12234属于非严格递增连续数字序列)。

输入描述:

输入一个字符串仅包含大小写字母和数字,输入的字符串最大不超过255个字符。

输出描述:

最长的非严格递增连续数字序列的长度

补充说明:

示例1

输入:

abc2234019A334bc

输出:

4

说明:

2234为最长的非严格递增连续数字序列,所以长度为4。

代码实现:

def func():
    M = input()
    s = []
    x = []
    for i in M:
        s.append(i)
        if i.isdigit():
            x.append(i)
    if len(x) == 0:
        print(0)
        exit()
    if len(set(x)) == 1:
        print(len(x))
        exit()
            
    count = 1
    count_max = 0
    for i in range(len(s)):
        if s[i] >= s[i-1] and s[i].isdigit():
            count += 1
        else:
            count = 1
        count_max = max(count_max,count)
    print(count_max)

func()

你可能感兴趣的:(python,算法,华为)