LeetCode 300最长递增子序列 674最长连续递增序列 718最长重复子数组 | 代码随想录25期训练营day52

news2024/11/15 21:40:24

动态规划算法10

LeetCode 300 最长递增子序列 2023.12.15

  • 题目链接
  • 代码随想录讲解[链接]
    在这里插入图片描述
int lengthOfLIS(vector<int>& nums) {
    //创建变量result存储最终答案,设默认值为1
    int result = 1;
    //1确定dp数组,dp[i]表示以nums[i]为结尾的子数组的最长长度
    vector<int> dp(nums.size(), 1);
    //3初始化,所有元素默认的长度都为1,在创建时均已初始化
    //2确定递推公式,4确定遍历顺序
    //递推公式dp[i]表示以nums[i]为结尾的最长长度=max(以比nums[i]小的值结尾的最长长度+1(nums[i]),dp[i])
    //先正序遍历nums数组,然后可以正序或倒序遍历(0, i)更新dp[i]
    for (int i = 1; i < nums.size(); i++)
    {

        for (int j = 0; j < i; j++)
        {
            if(nums[j] < nums[i])
                dp[i] = max(dp[j] + 1, dp[i]);
        }
        //更新result值,为当前数组的递增序列最长长度
        if(result < dp[i])
            result = dp[i];
    }
    return result;
}

LeetCode 674 最长连续递增序列 2023.12.15

  • 题目链接
  • 代码随想录讲解[链接]
    在这里插入图片描述
int findLengthOfLCIS(vector<int>& nums) {
    //创建变量result存储最终答案,设默认值为1
    int result = 1;
    //1确定dp数组,dp[i]表示以nums[i]为结尾的连续递增子数组的最长长度
    vector<int> dp(nums.size(), 1);
    //3初始化,所有元素默认的长度都为1,在创建时均已初始化
    //2确定递推公式,4确定遍历顺序
    //递推公式dp[i]表示:如果nums[i-1]<nums[i],
    //那么以nums[i]为结尾的连续递增子数组最长长度=dp[i-1]+1
    for (int i = 1; i < nums.size(); i++)
    {
        if(nums[i] > nums[i-1])
            dp[i] = dp[i-1] + 1;
        //更新result值,为当前数组的递增序列最长长度
        if(result < dp[i])
            result = dp[i];
    }
    return result;
}

LeetCode 718 最长重复子数组 2023.12.15

  • 题目链接
  • 代码随想录讲解[链接]
    在这里插入图片描述
int findLength(vector<int>& nums1, vector<int>& nums2) {
    //创建变量result存储最终答案,设默认值为1
    int result = 0;
    //1确定dp二维数组,dp[i][j]表示以nums1[i-1]、nums2[j-1]结尾的相同子数组的最大长度
    vector<vector<int>> dp(nums1.size()+1, vector<int>(nums2.size()+1, 0));
    //3初始化,第一行和第一列必须初始化,意义上为0
    //2确定递推公式,4确定遍历顺序
    //如果nums1[i-1]、nums2[j-1]相同,那么dp[i][j]+1
    //顺序遍历
    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;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1312552.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

“文思助手”苏哒智能加入飞桨技术伙伴计划,共同打造“大模型+企业办公”新模式

近日&#xff0c;厦门苏哒智能科技有限公司正式加入飞桨技术伙伴计划&#xff0c;双方将发挥各自的专业优势&#xff0c;共同致力于在智能办公和创作领域实现技术突破和业务创新&#xff0c;帮助企业、知识工作者大幅提高生产力。 厦门苏哒智能科技有限公司 厦门苏哒智能科技有…

前端自定义icon的方法(Vue项目)

第一步&#xff1a;进入在线的编辑器进行设计 好用&#xff1a;百度字体编辑器 比如先导入有个ttf文件 添加新字体 双击每个模块进入编辑区域 更改相应的信息&#xff0c;比如name 编辑完了进行导出文件(各种格式就行了)就行了 第二步&#xff1a;在项目中asset文件储存这些文…

TCP为什么可靠之“拥塞控制”

拥塞控制是对网络层面的控制&#xff0c;主要是为了避免发送方发送过多的数据导致网络阻塞&#xff0c;以及出现网络阻塞时能够调整数据发送速率&#xff0c;达到对网络阻塞的一个控制。 拥塞窗口 拥塞窗口cwnd&#xff0c;是发送方维护的一个状态变量&#xff0c;会根据网络…

Vue组件封装知识总结

一、为什么要封装组件 首先&#xff0c;一个好问题&#xff0c;面试要考的&#xff01;为什么要封装组件呢&#xff1f; 提高代码的复用性&#xff1a;通过封装&#xff0c;可以将一段代码或一部分功能抽象为一个独立的组件&#xff0c;并在不同的项目或场景中重复使用。这样可…

simulinkveristand联合仿真——模型导入部署简单人机界面

目录 软件版本 simulink模型编译 veristand导入模型 veristand模型参数设置 veristand配置人机交互界面 veristand模型部署运行 软件版本 matlab2020a&#xff0c;veristand2020 R4 环境搭建及软件获取可看simulink&veristand&labview联合仿真环境搭建-CSDN博客…

记录 | docker报错could not select device driver ““ with capabilities: [[gpu]].

ubuntu18.04 上启动 docker start 报错&#xff1a; could not select device driver “” with capabilities: [[gpu]]. docker: Error response from daemon: could not select device driver “” with capabilities: [[gpu]]. ERRO[0005] error waiting for container: con…

如何做到人均告警减少 90%?B 站新一代告警平台的设计与实践

一分钟精华速览 B 站的业务规模和用户群体不断扩大&#xff0c;对于服务的稳定性和可用性的要求也日益增高。这就需要 B 站的监控告警系统能够及时、准确地发现和定位问题&#xff0c;以便尽快解决&#xff0c;维护好用户的使用体验。 本文是对 B 站在告警监控系统上的一次重…

MySQL如何进行Sql优化

&#xff08;1&#xff09;客户端发送一条查询语句到服务器&#xff1b; &#xff08;2&#xff09;服务器先查询缓存&#xff0c;如果命中缓存&#xff0c;则立即返回存储在缓存中的数据&#xff1b; &#xff08;3&#xff09;未命中缓存后&#xff0c;MySQL通过关键字将SQ…

网络层--TCP/UDP协议

目录 一、TCP/UDP协议介绍 1、UDP(User Datagram Protocol)--用户数据报协议 1.1 UDP报文格式 1.2 UDP协议的特性 2、TCP(Transmission Control Protocol )--传输控制协议 2.1 TCP报文格式 2.2 TCP协议的特性 2.3 TCP三次握手 2.4 四次挥手 三、TCP和UDP的区别 四、t…

关于“Python”的核心知识点整理大全21

9.3.2 Python 2.7 中的继承 在Python 2.7中&#xff0c;继承语法稍有不同&#xff0c;ElectricCar类的定义类似于下面这样&#xff1a; class Car(object):def __init__(self, make, model, year):--snip-- class ElectricCar(Car):def __init__(self, make, model, year):supe…

xcode 修改 target 中设备朝向崩溃

修改xcode的target中的设备朝向导致崩溃。 从日志上看好像没有什么特别的信息。 之后想了想&#xff0c;感觉这个应该还是跟xcode的配置有关系&#xff0c;不过改动的地方好像也只有plist。 就又翻腾了半天plist中的各种配置项&#xff0c;再把所有的用户权限提示相关的东西之…

运筹学经典问题(三):最大流问题

问题描述 给定一个图网络 G ( V , E ) G(V, E) G(V,E)&#xff0c;网络中连边的权重代表最大容量&#xff0c;在这个图中找出从起点到终点流量最大的路径。 数学建模 集合&#xff1a; I I I&#xff1a;点的集合&#xff1b; E E E&#xff1a;边的集合。 常量&#x…

全光谱的灯对人体有什么伤害?考公护眼台灯推荐

什么是全光谱&#xff1f;全光谱是是一种能够模拟自然光谱的照明设备&#xff0c;通过发出包含所有可见光波长的光线&#xff0c;使人们感受到与自然光类似的照明效果。不同于传统的白炽灯或荧光灯&#xff0c;全光谱灯被认为能够提供更好的视觉质量和更健康的光学经验。现在市…

泊松分布、泊松定理

泊松分布 假设随机变量所有可能的取值为&#xff0c;并且取各个值的概率为&#xff1a; &#xff0c; 其中是常数 那么就称服从参数为的泊松分布&#xff0c;记为。 泊松定理 设是常数&#xff0c;是任意正整数&#xff0c;并且&#xff0c;那么对任意一个非负整数&am…

新一代“垫图”神器,IP-Adapter的完整应用解读

导读 不用训练lora&#xff0c;一张图就能实现风格迁移&#xff0c;还支持多图多特征提取&#xff0c;同时强大的拓展能力还可接入动态prompt矩阵、controlnet等等&#xff0c;这就是IP-Adapter&#xff0c;一种全新的“垫图”方式&#xff0c;让你的AIGC之旅更加高效轻松。 …

14个最经典的git命令,你知道吗?

1 学习14个Git命令&#xff0c;因为你将会在99%的时间里使用它们 必须了解的命令整理 1&#xff0c;git init 初始化一个新的Git仓库。 这将在当前目录中创建一个名为".git"的子目录&#xff0c;Git会将所有仓库的元数据存储在其中。 2&#xff0c;git clone 克…

使用Python绘制二元函数图像详解

概要 在数据科学、数学建模和机器学习中&#xff0c;经常需要可视化二元函数的图像以更好地理解函数的行为。Python提供了丰富的绘图库&#xff0c;如Matplotlib和NumPy&#xff0c;使得绘制二元函数图像变得简便而灵活。本文将介绍如何使用Python创建并美化二元函数图像&…

pandas读取Excel表指定数值 计算总和

题目要求&#xff1a;在一个文件夹里面有424个Excel表格&#xff0c;每个表格中都是统一的&#xff0c;如下图。要求计算所有表格中金额的总和。 上代码&#xff1a; import os import glob import pandas as pd# 指定文件夹路径 folder_path C:\\Users\\Administrator\\Desk…

Salesforce“卷土重来”:对中国CRM市场影响在哪?

于本土CRM而言&#xff0c;Salesforce是一面镜子&#xff0c;也更是催化剂。 长期来看&#xff0c;Salesforce的加入&#xff0c;从某种程度上将会加速中国CRM赛道的合理价值曲线的走向&#xff0c;通过带动外界对于CRM整个赛道的关注和热度&#xff0c;进而加速本土CRM的成长…

Java学习-连接Mysql数据库

1.先在Mysql里面构建一个表格 例子&#xff1a;名字为user1&#xff0c;两列分别为name、score 2.正确导入了MySQL的JDBC驱动程序 2.1 下载驱动包&#xff08;与自己的服务器版本匹配&#xff09; 官网地址&#xff1a;Maven Repository: mysql mysql-connector-java 8.0.29 …