當前位置:
首頁 > 知識 > Python 最長遞增子序列

Python 最長遞增子序列

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]

Python 最長遞增子序列

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

win7下tomcat8的配置
學習馬云:你的一生到底該往哪個方向走?

TAG:程序員小新人學習 |