算法训练营day56

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

class Solution {
public:
    int lengthOfLIS(vector<int>& nums) {
        // dp数组含义是第i个数的严格递增子序列的长度
        // 内层的递推公式就是 取 0 到 i - 1之间最大的dp数组 然后 + 1
        vector<int> dp(nums.size(), 1);
        int reslut = 1;
        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);
                }
            }
            reslut = max(reslut, dp[i]);
        }
        return reslut;
    }
};

题目2:674. 最长连续递增序列 - 力扣(LeetCode)

暴力解法:

class Solution {
public:
    int findLengthOfLCIS(vector<int>& nums) {
        int reslut = 1;
        for(int i = 0;i < nums.size();i++) {
            int len = 1;
            for(int j = i;j < nums.size() - 1;j++) {
                if(nums[j + 1] > nums[j]) {
                    len++;
                }else break;
            }
            reslut = max(reslut, len);
        }
        return  reslut;
    }
};

动态规划

class Solution {
public:
    int findLengthOfLCIS(vector<int>& nums) {
        vector<int> dp(nums.size(), 1);
        int reslut = 1;
        for(int i = 0;i < nums.size() - 1;i++) {
            if(nums[i + 1] > nums[i]) {
                dp[i + 1] = dp[i] + 1;
            }
            reslut = max(reslut, dp[i + 1]);
        }
        return reslut;
    }
};

题目3:718. 最长重复子数组 - 力扣(LeetCode)

class Solution {
public:
    int findLength(vector<int>& nums1, vector<int>& nums2) {
        vector<vector<int>> dp(nums1.size() + 1, vector<int>(nums2.size() + 1));
        int reslut = 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;
                }
                reslut = max(reslut, dp[i][j]);
            }
        }
        return reslut;
    }
};

相关推荐

  1. 算法训练day56

    2024-06-12 07:32:03       28 阅读
  2. 算法训练day52

    2024-06-12 07:32:03       29 阅读
  3. 算法训练day53

    2024-06-12 07:32:03       34 阅读
  4. 算法训练day58

    2024-06-12 07:32:03       35 阅读
  5. 算法训练day59

    2024-06-12 07:32:03       32 阅读
  6. 算法训练day51

    2024-06-12 07:32:03       30 阅读
  7. 算法训练Day59(单调栈)

    2024-06-12 07:32:03       63 阅读
  8. 算法训练Day56(动态规划16)

    2024-06-12 07:32:03       52 阅读
  9. 代码随想录算法训练day56

    2024-06-12 07:32:03       31 阅读
  10. 算法训练Day50(动态规划11)

    2024-06-12 07:32:03       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-12 07:32:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-12 07:32:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-12 07:32:03       82 阅读
  4. Python语言-面向对象

    2024-06-12 07:32:03       91 阅读

热门阅读

  1. Elasticsearch 第一期:基础的基础概念

    2024-06-12 07:32:03       33 阅读
  2. c++题目_T307715 风之循环

    2024-06-12 07:32:03       33 阅读
  3. web前端培训生:深入探索与技能进阶之路

    2024-06-12 07:32:03       29 阅读
  4. Objective-C 学习笔记 | 范畴

    2024-06-12 07:32:03       27 阅读
  5. python3按列表元素中字典的value排序

    2024-06-12 07:32:03       26 阅读
  6. 深度搜索 copilot 插件

    2024-06-12 07:32:03       33 阅读
  7. 达梦数据库忘记dba密码如何修改密码

    2024-06-12 07:32:03       28 阅读
  8. Docker面试整理-Docker Swarm是什么?

    2024-06-12 07:32:03       29 阅读
  9. Django模板标签CSRF

    2024-06-12 07:32:03       31 阅读