代码随想录60期day46

leetcode 300

cpp 复制代码
class Solution{
public:
    int lengthOfLIS(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++){
            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

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

    }
};

leetcode 718

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 (dp[i][j] > result)
                    result = dp[i][j];
            }
        }
        return result;
    }
};
相关推荐
a187927218317 分钟前
【算法】动态规划第五篇:区间 DP——从“看什么都像背包“到“最后戳谁“
算法·leetcode·动态规划·dp·区间·区间dp·算法讲解
whitelbwwww11 分钟前
c++ 多线程
开发语言·c++·算法
额鹅恶饿呃13 分钟前
随着CentOS官方停服的时间越来越久,大量仍在使用CentOS7的企业和运维从业者
java·python·算法·c#·ruby
白狐_79818 分钟前
408 数据结构|KMP算法核心:为什么不用主串回退
数据结构·算法
wuyk55524 分钟前
13.堆排序:基于完全二叉树的高效排序算法一、什么是堆排序?
开发语言·算法·排序算法
qinzechen29 分钟前
本周科技行业热点汇总·2026第36周(2026年8月31日-9月6日)
c++·科技·算法
白狐_79843 分钟前
408 数据结构|红黑树 vs AVL:高频考点、易错判断与可能出题方式
数据结构·算法
zuozong_1 小时前
C++类与对象
开发语言·c++·算法
hansang_IR1 小时前
【代码】分层最短路模板
c++·算法·最短路
啊阿狸不会拉杆1 小时前
《计算机网络-自顶向下方法》5.2 路由选择算法 读书笔记
计算机网络·算法·路由