国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

300. 最長遞增子序列

這篇具有很好參考價(jià)值的文章主要介紹了300. 最長遞增子序列。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

題目描述

給你一個(gè)整數(shù)數(shù)組 nums ,找到其中最長嚴(yán)格遞增子序列的長度。

子序列 是由數(shù)組派生而來的序列,刪除(或不刪除)數(shù)組中的元素而不改變其余元素的順序。例如,[3,6,2,7] 是數(shù)組 [0,3,1,6,2,2,7] 的子序列。

示例 1:

輸入:nums = [10,9,2,5,3,7,101,18]
輸出:4
解釋:最長遞增子序列是 [2,3,7,101],因此長度為 4 。

示例 2:

輸入:nums = [0,1,0,3,2,3]
輸出:4

示例 3:

輸入:nums = [7,7,7,7,7,7,7]
輸出:1

提示:文章來源地址http://www.zghlxwxcb.cn/news/detail-699083.html

  • 1 <= nums.length <= 2500
  • -104 <= nums[i] <= 104

解答

class Solution {
public:
    int lengthOfLIS(vector<int>& nums) {
        // dp[i] 表示以 nums[i] 為結(jié)尾的最長遞增子序列
        if(nums.size() <= 1) return nums.size();

        int n = nums.size();

        vector<int> dp(n, 1); // 每個(gè)數(shù)自己都為一個(gè)遞增子序列
        int res = 0;

        for(int i = 1; i < n; ++i)
        {
            // 求出以 nums[i] 結(jié)尾的最長遞增子序列
            for(int j = 0; j < i; j++)
            {
                if(nums[i] > nums[j]) dp[i] = max(dp[i], dp[j] + 1);
            }
            if(dp[i] > res) res = dp[i];
        }
        return res;
    }
};

到了這里,關(guān)于300. 最長遞增子序列的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【LeetCode動態(tài)規(guī)劃#14】子序列系列題(最長遞增子序列、最長連續(xù)遞增序列、最長重復(fù)子數(shù)組、最長公共子序列)

    【LeetCode動態(tài)規(guī)劃#14】子序列系列題(最長遞增子序列、最長連續(xù)遞增序列、最長重復(fù)子數(shù)組、最長公共子序列)

    力扣題目鏈接(opens new window) 給你一個(gè)整數(shù)數(shù)組 nums ,找到其中最長嚴(yán)格遞增子序列的長度。 子序列是由數(shù)組派生而來的序列,刪除(或不刪除)數(shù)組中的元素而不改變其余元素的順序。例如,[3,6,2,7] 是數(shù)組 [0,3,1,6,2,2,7] 的子序列。 示例 1: 輸入:nums = [10,9,2,5,3,7,101,18] 輸出

    2024年02月01日
    瀏覽(30)
  • 【LeetCode: 673. 最長遞增子序列的個(gè)數(shù) | 動態(tài)規(guī)劃】

    【LeetCode: 673. 最長遞增子序列的個(gè)數(shù) | 動態(tài)規(guī)劃】

    ?? 算法題 ?? ?? 算法刷題專欄 | 面試必備算法 | 面試高頻算法 ?? ?? 越難的東西,越要努力堅(jiān)持,因?yàn)樗哂泻芨叩膬r(jià)值,算法就是這樣? ?? 作者簡介:碩風(fēng)和煒,CSDN-Java領(lǐng)域新星創(chuàng)作者??,保研|國家獎學(xué)金|高中學(xué)習(xí)JAVA|大學(xué)完善JAVA開發(fā)技術(shù)棧|面試刷題|面經(jīng)八股文

    2024年02月03日
    瀏覽(22)
  • 動態(tài)規(guī)劃算法 | 最長遞增子序列

    動態(tài)規(guī)劃算法 | 最長遞增子序列

    通過查閱相關(guān)資料 發(fā)現(xiàn)動態(tài)規(guī)劃問題一般就是求解最值問題 。這種方法在解決一些問題時(shí)應(yīng)用比較多,比如求最長遞增子序列等。 有部分人認(rèn)為動態(tài)規(guī)劃的核心就是:窮舉。因?yàn)橐笞钪?,肯定要把所有可行的答案窮舉出來,然后在其中找最值。 首先,筆者認(rèn)為動態(tài)規(guī)劃中

    2024年02月06日
    瀏覽(31)
  • Leetcode:300. 最長遞增子序列、674. 最長連續(xù)遞增序列(C++)

    目錄 300.?最長遞增子序列 題目描述: 實(shí)現(xiàn)代碼: 原理思路: 674.?最長連續(xù)遞增序列 題目描述: 實(shí)現(xiàn)代碼: 原理思路: 題目描述: ????????給你一個(gè)整數(shù)數(shù)組? nums ?,找到其中最長嚴(yán)格遞增子序列的長度。 子序列? 是由數(shù)組派生而來的序列,刪除(或不刪除)數(shù)組中

    2024年02月11日
    瀏覽(32)
  • ( 動態(tài)規(guī)劃) 674. 最長連續(xù)遞增序列 / 718. 最長重復(fù)子數(shù)組——【Leetcode每日一題】

    ( 動態(tài)規(guī)劃) 674. 最長連續(xù)遞增序列 / 718. 最長重復(fù)子數(shù)組——【Leetcode每日一題】

    難度:簡單 給定一個(gè)未經(jīng)排序的整數(shù)數(shù)組,找到最長且 連續(xù)遞增的子序列 ,并返回該序列的長度。 連續(xù)遞增的子序列 可以由兩個(gè)下標(biāo) l 和 r(l r) 確定,如果對于每個(gè) l = i r ,都有 nums[i] nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], ..., nums[r - 1], nums[r]] 就是連續(xù)遞增子序列。

    2024年02月05日
    瀏覽(24)
  • leetcode300. 最長遞增子序列 子序列(不連續(xù))

    https://leetcode.cn/problems/longest-increasing-subsequence/ 給你一個(gè)整數(shù)數(shù)組 nums ,找到其中最長嚴(yán)格遞增子序列的長度。 子序列 是由數(shù)組派生而來的序列,刪除(或不刪除)數(shù)組中的元素而不改變其余元素的順序。例如,[3,6,2,7] 是數(shù)組 [0,3,1,6,2,2,7] 的子序列。 LIS即最長上升子序列,指

    2024年02月14日
    瀏覽(22)
  • 算法與數(shù)據(jù)結(jié)構(gòu)(二十三)動態(tài)規(guī)劃設(shè)計(jì):最長遞增子序列

    算法與數(shù)據(jù)結(jié)構(gòu)(二十三)動態(tài)規(guī)劃設(shè)計(jì):最長遞增子序列

    注:此文只在個(gè)人總結(jié) labuladong 動態(tài)規(guī)劃框架,僅限于學(xué)習(xí)交流,版權(quán)歸原作者所有; 也許有讀者看了前文 動態(tài)規(guī)劃詳解,學(xué)會了動態(tài)規(guī)劃的套路:找到了問題的「狀態(tài)」,明確了 dp 數(shù)組/函數(shù)的含義,定義了 base case;但是不知道如何確定「選擇」,也就是找不到狀態(tài)轉(zhuǎn)移

    2024年02月13日
    瀏覽(34)
  • 動態(tài)規(guī)劃之最長遞增子序列

    leetcode 300 最長遞增子序列 1.定義dp數(shù)組:dp[i]表示以nums[i]結(jié)尾的最長遞增子序列的長度。 2.定義遞推公式 dp[i] = max(dp[j] + 1, dp[i]) 因?yàn)閐p[j] + 1中的dp[j]并非是在前一個(gè)已經(jīng)加1的dp[j]的基礎(chǔ)之上再加上1。若從初始狀態(tài)加1,而dp[i]永遠(yuǎn)保持的是最大的狀態(tài),則dp[j] + 1肯定要小一些。

    2024年01月23日
    瀏覽(40)
  • 【動態(tài)規(guī)劃】求最長遞增子序列問題

    【動態(tài)規(guī)劃】求最長遞增子序列問題

    最長遞增子序列(Longest Increasing Subsequence, LIS ) 子序列:對于任意序列s,它的子序列是通過刪除其中零個(gè)或多個(gè)元素得到的另?個(gè)序列 注:剩余元素的相對順序保持不變 給定n個(gè)整數(shù)組成的序列 s [ 1... n ] s[1...n] s [ 1... n ] ,求最長遞增子序列LIS(的長度) 8 3 6 1 3 5 4 7 假設(shè)

    2024年02月03日
    瀏覽(27)
  • 動態(tài)規(guī)劃9:最長遞增子序列、最長連續(xù)遞增序列、最長重復(fù)子數(shù)組、最長公共子序列、不相交的線、最長子序和

    動態(tài)規(guī)劃9:最長遞增子序列、最長連續(xù)遞增序列、最長重復(fù)子數(shù)組、最長公共子序列、不相交的線、最長子序和

    例題300: 給你一個(gè)整數(shù)數(shù)組 nums ,找到其中最長嚴(yán)格遞增子序列的長度。 子序列 是由數(shù)組派生而來的序列,刪除(或不刪除)數(shù)組中的元素而不改變其余元素的順序。例如,[3,6,2,7] 是數(shù)組 [0,3,1,6,2,2,7] 的子序列。 確定dp數(shù)組和下標(biāo)含義 dp[i]表示在第i個(gè)元素的最長子序列數(shù)

    2024年04月08日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包