python组合数据类型 最长连续递增子序列

img

感觉这个题 用二叉树 会不会快一些?

帅哥,美女,请动动你的小手,请采纳~

def get_substr(data):
    begin = 0
    maxLen = 1
    k = 1

    for i in range(1, len(data)):
        if i < len(data):
            if data[i] >= data[i-1]:
                k += 1
            else:
                k = 1

            if k >= maxLen:
                maxLen = k
                begin = i - maxLen + 1

    res = []
    for i in range(begin, begin + maxLen):
        res.append(data[i])
    return (res, len(res))

substr = get_substr([1,2,0,3,2,3,4,4,5,5,4,3,2])
print(substr)
([2, 3, 4, 4, 5, 5], 6)