代码随想录算法训练营第四十三天|LeetCode300. 最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

300. 最长递增子序列

题目链接:300. 最长递增子序列
B站讲解

cpp 复制代码
class Solution {
public:
    int lengthOfLIS(vector<int>& nums) {
        if (nums.size() <= 1) return nums.size();
        // dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度
        vector<int> dp(nums.size(), 1);
        int result = 0;
        for (int i = 1; i < nums.size(); i++) {
            for (int j = 0; j < i; j++) {
                if (nums[i] > nums[j]) dp[i] = max(dp[i], dp[j] + 1);
            }
            if (dp[i] > result) result = dp[i];
        }
        return result;
    }
};

674. 最长连续递增序列

题目链接: 674. 最长连续递增序列
思路: 本题比上一题简单,只要上题会了,这题就容易过了!

cpp 复制代码
class Solution {
public:
    int findLengthOfLCIS(vector<int>& nums) {
        if (nums.size() <= 1) return nums.size();
        vector<int> dp(nums.size(), 1);
        int result = 0;
        for (int i = 1; i < nums.size(); i++) {
            if(nums[i] > nums[i - 1]) dp[i] = dp[i - 1] + 1;
            if(result < dp[i]) result = dp[i];
        }
        return result;
    }
};

718. 最长重复子数组

题目链接:718. 最长重复子数组
思路: 这题代码和前面不太一样。比如dp35的意思是以下标2结尾的nums1数组,和以下标4为结尾的nums2数组的最长重复子数组长度。这样做的好处是,对dpi0和dp0j的初始化比较简单
B站讲解

cpp 复制代码
class Solution {
public:
    int findLength(vector<int>& nums1, vector<int>& nums2) {
        vector<vector<int>> dp(nums1.size() + 1, vector<int>(nums2.size() + 1, 0));
        int result = 0;
        for (int i = 1; i <= nums1.size(); i++) {
            for(int j = 1; j <= nums2.size(); j++) {
                if (nums1[i - 1] == nums2[j - 1]) dp[i][j] = dp[i - 1][j - 1] + 1;
                if (result < dp[i][j]) result = dp[i][j];
            }  
        }
        return result;
    }
};
相关推荐
致Great5 小时前
Pi 的上下文压缩,到底是怎么工作的?
算法
watersink6 小时前
机器学习聚类算法
算法·机器学习·聚类
luj_17687 小时前
桥牌思维启示:系统设计的模块化架构
c语言·开发语言·c++·经验分享·算法
饼饼学习空间智能9 小时前
家庭服务机器人训练数据怎么积累?仿真、真实采集与持续学习的技术路线分析
人工智能·算法·机器学习
蛋先生DX10 小时前
你瘦不下来但大模型可以:量化原理了解一下
深度学习·算法·llm
牛阿大11 小时前
LQR算法
算法
(╹◡╹)12 小时前
18.剪枝
算法·机器学习·剪枝
Fa_Mian_Tuan13 小时前
图论基础|邻接矩阵超详细讲解(含无向/有向/带权图+完整可运行C语言代码)
c语言·数据结构·笔记·算法·图论
hanhahai13 小时前
指针与函数(函数指针与指针函数)
算法