最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++ LeetCode300最長遞增子序列

 更新時間:2022年12月16日 11:41:48   作者:LetMeFly  
這篇文章主要為大家介紹了C++ LeetCode300最長遞增子序列示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

LeetCode 300.最長遞增子序列

力扣題目鏈接:leetcode.cn/problems/lo…

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

子序列 是由數(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

提示:

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

進階:

  • 你能將算法的時間復雜度降低到 O(n log(n)) 嗎?

方法一:動態(tài)規(guī)劃

AC代碼

C++

class Solution {
public:
    int lengthOfLIS(vector<int>& nums) {
        int n = nums.size();
        vector<int> dp(n, 1);
        for (int i = 1; i < n; i++) {
            for (int j = 0; j < i; j++) {
                if (nums[j] < nums[i]) {
                    dp[i] = max(dp[i], dp[j] + 1);
                }
            }
        }
        return *max_element(dp.begin(), dp.end());
    }
};

以上就是C++ LeetCode300最長遞增子序列的詳細內(nèi)容,更多關于C++ 最長遞增子序列的資料請關注腳本之家其它相關文章!

相關文章

最新評論

商洛市| 镇巴县| 佳木斯市| 南投市| 莱州市| 林周县| 沙坪坝区| 泌阳县| 桐城市| 和硕县| 那坡县| 揭西县| 元江| 宾阳县| 双鸭山市| 龙川县| 抚宁县| 婺源县| 吉安市| 汉沽区| 白城市| 师宗县| 翁牛特旗| 扶沟县| 白河县| 张家川| 敦化市| 华阴市| 南靖县| 固始县| 正阳县| 象山县| 慈利县| 晴隆县| 湘阴县| 扎囊县| 巴中市| 镇雄县| 田阳县| 西平县| 库伦旗|