[导读]:Python 最长递增子序列代码如下所示: def lis(arr):n = len(arr)m = [0]*nfor 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] += 1max_value = max(m)result = []for i in range(n):if m[i...
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]
本文来自投稿,不代表微盟圈立场,如若转载,请注明出处:https://www.vm7.com/a/ziyuan/111649.html