3. DP_Lintcode76 最長增長(上升)子序列Longest Increasing Subsequence solution

一、題目

Given a sequence of integers, find the longest increasing subsequence (LIS).

You code should return the length of the LIS.

Example For [5, 4, 1, 2, 3], the LIS is [1, 2, 3], return 3

For [4, 2, 4, 5, 3, 7], the LIS is [4, 4, 5, 7], return 4

二、解題思路

方案一:動(dòng)態(tài)規(guī)劃 時(shí)間復(fù)雜度O(n*n)

dp[i] 表示以i結(jié)尾的子序列中LIS的長度。然后我用 dpj 來表示在i之前的LIS的長度。然后我們可以看到,只有當(dāng) a[i]>a[j] 的時(shí)候,我們需要進(jìn)行判斷,是否將a[i]加入到dp[j]當(dāng)中。為了保證我們每次加入都是得到一個(gè)最優(yōu)的LIS,有兩點(diǎn)需要注意:第一,每一次,a[i]都應(yīng)當(dāng)加入最大的那個(gè)dp[j],保證局部性質(zhì)最優(yōu),也就是我們需要找到 max(dpj) ;第二,每一次加入之后,我們都應(yīng)當(dāng)更新dp[j]的值,顯然, dp[i]=dp[j]+1 。 如果寫成遞推公式,我們可以得到 dp[i]=max(dpj)+(a[i]>a[j]?1:0) 。

三、解題代碼

public int longestIncreasingSubsequence(int[] nums) {  
    int[] f = new int[nums.length];  
    int max = 0;  
    for (int i = 0; i < nums.length; i++) {  
        f[i] = 1;  
        for (int j = 0; j < i; j++) {  
            if (nums[j] < nums[i]) {  
                f[i] = f[i] > f[j] + 1 ? f[i] : f[j] + 1;  
            }  
        }  
        if (f[i] > max) {  
            max = f[i];  
        }  
    }  
    return max;  
}  

下一篇: 4. DP_LeetCode121/122/123 &終極[k]次交易
上一篇: 2. DP_最長公共子序列

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 動(dòng)態(tài)規(guī)劃(Dynamic Programming) 本文包括: 動(dòng)態(tài)規(guī)劃定義 狀態(tài)轉(zhuǎn)移方程 動(dòng)態(tài)規(guī)劃算法步驟 最長...
    廖少少閱讀 3,632評論 0 18
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,890評論 0 33
  • 轉(zhuǎn)自:https://blog.csdn.net/George__Yu/article/details/75896...
    laochonger閱讀 1,480評論 0 1
  • 我有一個(gè)朋友,在她高考前幾天她爸因?yàn)榧膊∪ナ懒?。我不知道這種失去可以給人帶來多大的毀滅。但是我知道,她沒有因此一蹶...
    她說她喜歡黑色閱讀 636評論 1 1
  • 今天兒子寫完作業(yè),我陪他一起練習(xí)了書法。昨天他學(xué)習(xí)的兩個(gè)字是:求是,因?yàn)樽蛱焓前职峙闼ゾ毩?xí)的書法,我不知...
    甜蜜蜜DY閱讀 166評論 0 4

友情鏈接更多精彩內(nèi)容