【LeetCode热题100】【动态规划】最长递增子序列

2024-04-20 11:05:34 浏览数 (2)

题目链接:300. 最长递增子序列 - 力扣(LeetCode)

让dp[i]是以nums[i]为结尾的子序列的最长递增长度,遍历nums[i]之前的元素,如果有比nums[i]小的,说明递增子序列可以延申

代码语言:javascript复制
class Solution {
public:
    int lengthOfLIS(vector<int> &nums) {
        int ans = 0;
        vector<int> dp(nums.size(), 1);
        for (int i = 0; i < nums.size();   i) {
            for (int j = 0; j < i;   j)
                if (nums[j] < nums[i])
                    dp[i] = max(dp[i], dp[j]   1);
            ans = max(ans, dp[i]);
        }
        return ans;
    }
};

0 人点赞