300. Longest Increasing Subsequence

https://www.youtube.com/watch?v=CE2b_-XfVDk&t=300s

07/04/2017更新

今天又仔細寫了一遍捻激,發(fā)現(xiàn)這題昨天還是沒想清楚凛膏。
昨天我以為庙曙, if (nums[i] > nums[j]) 這句決定了dp里面有些位是0的,其實不是的茂卦,這個if只是會更新max的值豁生,如果不更新,那dp這一位就等于之前的max的捣鲸,也正因為如此瑟匆,max是要在外層for每次右移都更新的。另外也正因為如此栽惶,最后返回的結果不能是dp[nums.length-1]愁溜。


debug

另外,看了一下第二種方法外厂,二分+一個for循環(huán)冕象,但感覺有點tricky,不太好找規(guī)律汁蝶。偷懶了渐扮,不寫了。

以下講解摘自:http://www.reibang.com/p/a3cd9df6d9d1

這種方法的解題步驟是:
-將第1個數(shù)字加入解集穿仪;
-依次讀取后面的數(shù)字席爽,如果此數(shù)字比解集中最后一個數(shù)字大,則將此數(shù)字追加到解集后啊片,否則只锻,用這個數(shù)字替換解集中第一個比此數(shù)字大的數(shù),解集是有序的紫谷,因此查找可以用二分法齐饮,復雜度O(log n);
-最后的答案是解集的長度(而解集中保存的并不一定是合法解)笤昨。
舉個栗子祖驱,輸入為[1,4,6,2,3,5]:
-解集初始化為[1];
-讀到4瞒窒,將其追加到解集中捺僻,解集變?yōu)閇1,4];
-讀到6,將其追加到解集中匕坯,解集變?yōu)閇1,4,6]束昵;
-讀到2,用其替換解集中的4葛峻,解集變?yōu)閇1,2,6]锹雏,注意此時解集不是一個合法解,因為2是在6后出現(xiàn)的术奖,但是解集的長度始終標識著當前最長序列的長度礁遵;
-讀到3,用其替換解集中的6采记,解集變?yōu)閇1,2,3]佣耐;
-讀到5,將其追加到解集中挺庞,解集變?yōu)閇1,2,3,5]晰赞,得到答案為解集長度4。


06/04/2017

LIS問題选侨,老生常談的一維DP問題了掖鱼。但是我這題竟然想了很久沒想通。最后還看了答案調試了一會兒援制。有時感覺一維dp比二維dp還要復雜戏挡。〕柯兀或者說因為我腦子現(xiàn)在已經不轉了褐墅。。好累洪己。這兩天好累啊妥凳,白天上班晚上上課,尤其上完課大半夜再想這個答捕,腦子已經不怎么轉了逝钥,很痛苦。我不喜歡這種節(jié)奏拱镐。很煩艘款。

還有O(nlogn)的方法,抽空再看了沃琅。哗咆。

    public int lengthOfLIS(int[] nums) {
        if (nums.length == 0) return 0;
        int dp[] = new int[nums.length];
        dp[0] = 1;
        int res = 1;
        for (int i = 1; i < nums.length; i++) {
            //max不能是全局的
            int max = 1;
            for (int j = 0; j < i; j++) {
                if (nums[i] > nums[j]) {
                    //這里不能就開始改變dp[i],否則下一次循環(huán)就亂了
                    max = Math.max(dp[j] + 1, max);
                }
            }

            dp[i] = max;

            res = Math.max(dp[i] , res);

        }
        return res;
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末益眉,一起剝皮案震驚了整個濱河市晌柬,隨后出現(xiàn)的幾起案子姥份,更是在濱河造成了極大的恐慌,老刑警劉巖年碘,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件殿衰,死亡現(xiàn)場離奇詭異,居然都是意外死亡盛泡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門娱颊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來傲诵,“玉大人,你說我怎么就攤上這事箱硕∷┲瘢” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵剧罩,是天一觀的道長栓拜。 經常有香客問我,道長惠昔,這世上最難降的妖魔是什么幕与? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮镇防,結果婚禮上啦鸣,老公的妹妹穿的比我還像新娘。我一直安慰自己来氧,他們只是感情好诫给,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著啦扬,像睡著了一般中狂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上扑毡,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天胃榕,我揣著相機與錄音,去河邊找鬼僚楞。 笑死勤晚,一個胖子當著我的面吹牛,可吹牛的內容都是我干的泉褐。 我是一名探鬼主播赐写,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼膜赃!你這毒婦竟也來了挺邀?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎端铛,沒想到半個月后泣矛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡禾蚕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年您朽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片换淆。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡哗总,死狀恐怖,靈堂內的尸體忽然破棺而出倍试,到底是詐尸還是另有隱情讯屈,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布县习,位于F島的核電站涮母,受9級特大地震影響,放射性物質發(fā)生泄漏躁愿。R本人自食惡果不足惜叛本,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望彤钟。 院中可真熱鬧炮赦,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽夹姥。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工峭拘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人狮暑。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓鸡挠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親搬男。 傳聞我的和親對象是個殘疾皇子拣展,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內容