最长递增子序列 python

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最长递增子序列 python相关的知识,希望对你有一定的参考价值。

最长递增子子序列,这是动态规划里的经典问题了。

python代码如下

技术分享
def get_max_increase_sequence1(a):
    # dp[i] = max{dp[j] | 0<=j<i,a[i]<a[j] } + 1
    # O(n**2)
    num=len(a)
    dp=[0]*num
    for i in xrange(num):
        for j in xrange(i):
            if a[j]<a[i] and dp[j]>dp[i]:
            # a[j]<a[i] means that dp[i] should base on dp[j]
            # update dp[j] and select bigger one
                dp[i]=dp[j]
        dp[i]+=1
    return dp

a=[1,2,3,4,0,1]
print get_max_increase_sequence1(a)
get_max_increase_sequence.py

听说还有优化方法,下次再写吧。

以上是关于最长递增子序列 python的主要内容,如果未能解决你的问题,请参考以下文章

python 最长递增子序列

Leetcode刷题Python300. 最长递增子序列

代码随想录算法训练营第五十二天 | 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组

用数学语言说一下动态规划求数列最长递增子序列的解

JAVA动态规划,最长递增子序列的代码太难理解,求大神帮我讲解一下!

最长递增子序列