leetcode-华为专题-300. 最长递增子序列

 

leetcode-华为专题-300. 最长递增子序列

参考:

https://leetcode-cn.com/problems/longest-increasing-subsequence/solution/dong-tai-gui-hua-er-fen-cha-zhao-tan-xin-suan-fa-p/

class Solution {
public:
    int lengthOfLIS(vector<int>& nums) {
        int res = 0;
        vector<int> dp(nums.size(), 1);

        // dp[i]:以nums[i]结尾的递增子序列的长度;
        for(int i = 1; i < nums.size(); i++){
            for(int j =0; j < i; j++){
                if(nums[i]>nums[j]){ // 看nums[i]接在前面那一个元素的后面,递增子序列最长
                    dp[i] = max(dp[i], dp[j]+1);
                }
            }
        }

        for(int i = 0; i < dp.size(); i++)
            res = max(res, dp[i]);
        return res;

    }
};

 

上一篇:猿题库 iOS 客户端架构设计-唐巧


下一篇:Python|画出一个300像素的十字架