补录.day43动态规划

news2024/12/23 16:59:41

300.最长递增子序列

给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。

子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。

 思路:要想清楚dp[i]递推公式的意义是什么,dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度,如下图所示。想要推导出递推公式,dp[i]=max(),由于是要求最大的长度,所以取最大值,最大值分别是(如果nums[i]大于nums[j]的话)dp[i],和dp[j]+1二者取一。

class Solution {
public:
    int lengthOfLIS(vector<int>& nums) {
        //dp[i] 代表0-i的 包含nums[i]的最长子序列的长度
    if (nums.size() <= 1) return nums.size();
        vector<int> dp(nums.size(),1);
        int res=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);
            }
            res=max(res,dp[i]);
        }
        return res;
    }
};

674.最长连续递增序列:

给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。

连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], ..., nums[r - 1], nums[r]] 就是连续递增子序列。

 思路:这道题被列为简单难度不是没有原因的,他和300的最长递增子序列很像,可以用动态规划,也可以用双指针+滑动窗口来做,我之前的文章里有双指针的做法,下面就来说说动态规划的做法。

和300的题目唯一不同的就是连续递增,因此,要在每次判断大小的时候判断一下是不是连续的就行了。

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

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

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

相关文章

【RNN】循环神经网络RNN学习笔记

时间序列任务场景&#xff1a; 语音识别生成一段音乐情感分析DNA序列分析机器翻译 如何理解时间序列&#xff1a;特点&#xff1a;前后关联强&#xff0c;前因后果&#xff0c;后面产生的结果依赖于之前的结果 标准神经网络建模的弊端&#xff1a; 输入和输出在不同例子中可…

MosaicML-面向生成式AI的机器学习平台

前段时间&#xff0c;大数据巨头 Databricks 宣布已签署最终协议&#xff0c;将以13亿美元的价格&#xff0c;收购位于旧金山的人工智能初创公司MosaicML 。这篇文章来自 MosaicML官方的技术博客&#xff0c;是对 MosaicML 大模型训练平台的一个简单介绍。 AIGC领域最大收购&am…

三防平板:定制化服务的趋势——以智慧医疗为例

随着科技的飞速发展&#xff0c;三防平板产品凭借其坚固耐用、适应复杂环境的特性&#xff0c;在众多行业领域中崭露头角。而在AI迅速增长的今天&#xff0c;AI智慧医疗成为了一个备受关注的热点&#xff0c;它不仅推动了医疗行业的数字化转型&#xff0c;也为三防平板产品的定…

OS向量测试方法-PPMU

1.OS向量测试方法 详细步骤&#xff1a; 检查工作&#xff1a; ①检查每根pin连接到指定的PPMU资源是否正确 ②继电器资源是否一一对应 代码编写步骤: 1、 ①设计者设计的测试电路继电器重置初始化 ②close应该闭合的继电器 2、 ①DPS pin电压置0V&#xff0c;同时考虑电流量…

1500万“黑悟空”,打醒一线大厂了吗?

《黑神话&#xff1a;悟空》“霸占”热搜以来&#xff0c;几乎每天都在创造新纪录。 近日&#xff0c;有机构称全平台已售1500万份&#xff0c;仅以268标准版计算&#xff0c;已然拿下40亿元人民币收入&#xff0c;这下10万天兵天将&#xff0c;每人要打150只猴子了。 发售之…

私有云仓库Harbor,docker-compose容器编排

一、私有云仓库 1.pip工具 是python的包管理工具&#xff0c;和yum对rehat的关系是一样的 pip install --upgrade pip 升级版本&#xff0c;会报错&#xff0c;需要指定源 pip install --upgrade pip20.3 -i https://mirrors.aliyun.com/pypi/simple pip …

本地部署一个WordPress博客结合内网穿透实现异地远程访问本地站点

文章目录 前言1. 安装WordPress2. 创建WordPress数据库3. 安装相对URL插件4. 安装内网穿透发布网站4.1 命令行方式&#xff1a;4.2. 配置wordpress公网地址 5. 配置WordPress固定公网地址 前言 本文主要介绍如何在Linux Ubuntu系统上使用WordPress搭建一个本地网站&#xff0c…

React学习day04-useEffect、自定义Hook函数

11、useEffect&#xff08;一个React Hook函数&#xff09; &#xff08;1&#xff09;作用&#xff1a;用于在React组件中创建不是由事件引起而是由渲染本身引起的操作&#xff0c;比如发送AJAX请求&#xff0c;更改DOM等&#xff08;即&#xff1a;视图渲染完后会触发一些事…

网络游戏服务器如何有效防护DDoS与CC攻击

随着网络游戏行业的蓬勃发展&#xff0c;其背后的服务器架构日益复杂&#xff0c;同时也面临着前所未有的网络安全威胁。其中&#xff0c;分布式拒绝服务&#xff08;DDoS&#xff09;和CC&#xff08;Challenge Collapsar&#xff09;攻击尤为突出&#xff0c;它们通过大量伪造…

90.游戏安全项目-项目搭建与解析

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;易道云信息技术研究院 上一个内容&#xff1a;89.游戏安全项目-htdSdk安装 79.游戏分析工具闪屏问题优化与数据被修改高亮 这里面有注…

权力迷宫:皇权、律法与人性的深度博弈

权力迷宫&#xff1a;皇权、律法与人性的深度博弈 - 孔乙己大叔在人类社会的复杂织锦中&#xff0c;权力与律法的关系往往呈现出一种微妙而深刻的悖论。律法&#xff0c;这一社会秩序的基石&#xff0c;常被视作维护公正、约束行为的利器&#xff0c;然而&#xff0c;在金字塔的…

深度理解指针(5)----指针完结

hello&#xff0c;各位小伙伴们我们现在已经对指针有了深刻的理解&#xff0c;指针来到了收尾环节&#xff01;让我们来做几题例题来复习之前学习的内容吧&#xff01; 最近爆火的黑神话悟空不知道小伙伴们体验了没有&#xff0c;小编对八戒还有蜘蛛精的凄惨爱情深深打动特意找…

Springboot使用Mongo数据库实现文件的上传下载预览等服务接口

MongoDB GridFS 简介 MongoDB GridFS是一个用于存储和检索大型文件的规范&#xff0c;它允许在MongoDB数据库中存储超过16MB的文件&#xff0c;如图片、音频、视频等。GridFS通过将文件分割成多个小的chunk&#xff08;文件片段&#xff09;&#xff0c;每个chunk通常为255KB&…

记URL重定向漏洞骚技巧

0x1 前言 这几天跟着我那几个师傅们在学习URL重定向漏洞&#xff0c;学习了比较多的对于这个漏洞的骚技巧&#xff0c;以及在挖掘edusrc漏洞和企业src相关的URL重定向漏洞时的一些技巧和不错的思路。 最近在跟我那几个师傅们研究学习URL重定向漏洞&#xff0c;然后在一些厂商…

EHS综合管理解决方案落地:管理效率飞升70%!

所有制造企业都面临着一个问题&#xff1a;如何保证EHS制度高质、高效执行&#xff1f;——上海斯歌EHS综合管理解决方案应运而生。 前不久&#xff0c;上海斯歌EHS综合管理解决方案&#xff08;企业安环综合管理解决方案&#xff09;在某全球领先的汽配公司成功落地&#xff0…

安灯系统在汽车电子工厂应用案例汇总

在汽车电子工厂中&#xff0c;高效的生产管理和及时的问题解决至关重要。安灯系统作为精益制造执行中的核心工具也是 MES 制造执行系统的重要组成部分&#xff0c;为汽车电子工厂带来了显著的效益。安灯系统是一个面向制造业生产现场&#xff0c;快速联络生产、物料、维修、主管…

VSCode中TypeScript调试配置

一、背景 最近想用TypeScript编译项目&#xff0c;在创建完项目后&#xff0c;我发现VSCode只有在调试TypeScript的单个文件时生效&#xff0c;如果存在引用&#xff0c;再进行断点调试&#xff0c;则调试功能不生效了。 随后&#xff0c;我让Chatgpt 生成一个一套配置&#…

C语言基础(二十五)

栈排序不是最高效的方法&#xff0c;因为栈是一种后进先出&#xff08;LIFO, Last In First Out&#xff09;的数据结构&#xff0c;而排序要求根据元素的顺序&#xff08;如升序或降序&#xff09;重新排列。但是&#xff0c;可以利用栈的特性&#xff0c;结合其他排序算法的思…

group by 中一定要包含 select 中的 除聚合函数以外 的 所有字段

今天在项目过程中报错&#xff1a; ### SQL: SELECT UNIT_NAME,dc.CAPTION as area,ifnull(a.bgSum,0) AS bgSum,ifnull(concat(FORMAT(a.bgSum/k.m*100,1),%),0.0%) as bgRatio FROM inspection_station_info isi left join dic_content dc on dc.CODE_VALUE…

K 线图快速绘制教程:使用 KLineChart 展示 DolphinDB K 线

KLineChart 是一款开源、简单易用、适用场景丰富的 Web 前端金融图表&#xff0c;基于 html5 canvas 构建&#xff0c;零依赖压缩包仅 40K&#xff0c;非常轻量。它可以用于渲染金融 K 线图&#xff0c;同时支持多种数据源&#xff0c;提供了丰富的交互功能以及指标计算接口。由…