的問題是如下: 給定n個整數的序列L不一定明顯,寫,計算最大長度的遞增子的算法:最大遞增子
我開發的遞歸方程是這樣的:
我從0開始的索引:
If j = n opt(j) = 0 (base case)
otherwise opt(j) = max j <i <= n such that Lj <Li = {opt(i) +1}
你認爲是正確的,這樣做呢?用於這一典型問題的標準解決方法是先計算在李的最大遞增子的結局對序列的所有元素,然後這些值的最大值,即:
if i = 1 opt (i) = 1
otherwise opt (i) = max 1 <= j <= i-1 and Lj <Li = {opt (i)} +1
,然後在這些元素的最大值。
所以我想知道你是否認爲我的解決方案正確無論如何。
爲什麼你想要一個在O(N^2)中運行的動態編程解決方案,其中已經存在可以在O(N logN)中完成的二進制搜索解決方案?見https://stackoverflow.com/questions/6129682/longest-increasing-subsequenceonlogn – 2017-12-28 09:09:45