您当前的位置:首页 > 计算机 > 编程开发 > Python

Python 最长递增子序列

时间:02-20来源:作者:点击数:

Python 最长递增子序列代码如下所示:

def lis(arr):
    n = len(arr)
    m = [0]*n
    for x in range(n-2,-1,-1):
        for y in range(n-1,x,-1):
            if arr[x] < arr[y] and m[x] <= m[y]:
                m[x] += 1
        max_value = max(m)
        result = []
        for i in range(n):
            if m[i] == max_value:
                result.append(arr[i])
                max_value -= 1
    return result
 
arr = [10, 22, 9, 33, 21, 50, 41, 60, 80]
print(lis(arr))

以上代码运行结果为:

[10, 22, 33, 50, 60, 80]
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门