当前位置: 首页 > article >正文

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

300. 最长递增子序列思路首先注意这里的递增不一定要连续可以是隔了几个数字的递增。那么这道题设dp数组的含义比较有意思dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度。当nums[i]大于nums[j]的时候我们可以写出状态转移方程。dp[i] max(dp[i], dp[j] 1);其实这里不是和dp[i]在比较而是在取dp[j]1的最大值。热后返回最大的result即可。我的代码class Solution { public: int lengthOfLIS(vectorint nums) { if(nums.size()1) return nums.size(); vectorint dp(nums.size(),1); int result0; for(int i1;inums.size();i) { for(int j0;ji;j) { if(nums[i]nums[j]) dp[i]max(dp[i],dp[j]1); } resultmax(result,dp[i]); } return result; } };674. 最长连续递增序列思路这道题目相比上一道题目简单一点因为你不用动态规划也能想出思路来。那么这题强调连续就说明这里dp数组又是i状态与i-1状态紧密相关。dp[i] dp[i - 1] 1。其他的跟上到题目一样。我的代码class Solution { public: int findLengthOfLCIS(vectorint nums) { if(nums.size()1) return nums.size(); vectorint dp(nums.size(),1); int result0; for(int i1;inums.size();i) { if(nums[i]nums[i-1]) dp[i]dp[i-1]1; resultmax(result,dp[i]); } return result; } };718. 最长重复子数组思路这道题目相对比较难需要定义一个二维dp数组dp[i][j] 以下标i - 1为结尾的A和以下标j - 1为结尾的B最长重复子数组长度为dp[i][j]。为什么是i-1和j-1呢因为这样初始化比较方便一点。同样的这里子数组是强调连续的所以递归状态需要从i-1和j-1推出来即当A[i - 1] 和B[j - 1]相等的时候dp[i][j] dp[i - 1][j - 1] 1;初始化就全部初始化成0就可以了因为dp[0][0]理论上不能由前一个状态得出初始化成0刚好。剩下就依旧是取最大值的操作了。我的代码class Solution { public: int findLength(vectorint nums1, vectorint nums2) { vectorvectorint dp(nums1.size()1,vectorint(nums2.size()1,0)); int result0; for(int i1;inums1.size();i) { for(int j1;jnums2.size();j) { if(nums1[i-1]nums2[j-1]) { dp[i][j]dp[i-1][j-1]1; } resultmax(result,dp[i][j]); } } return result; } };今日总结今天的子序列题目做起来还是比较熟悉的重复子数组稍微比较难想其实这里的更新也是一轮一轮滚动更新的重点是要理解dp数组的含义我就想不出来这个dp数组怎么设比较好。继续加油

相关文章:

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

300. 最长递增子序列 思路:首先注意这里的递增不一定要连续,可以是隔了几个数字的递增。那么这道题设dp数组的含义比较有意思:dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度。当nums[i]大于nums[j]的时候,我们可以写…...

UE5实战:Alembic文件导入全攻略(含Maya导出避坑技巧)

UE5实战:Alembic文件导入全流程解析与性能优化指南 在影视级实时动画制作流程中,Alembic文件格式已成为跨软件协作的黄金标准。作为开源的几何体缓存交换格式,它能够将Maya中复杂的动态模拟完美迁移到UE5的实时渲染环境中。本文将深入解析从M…...

多场耦合优化-主题034-形状优化与尺寸优化

主题034:形状优化与尺寸优化 1. 引言 结构优化是现代工程设计中的核心技术,旨在通过系统化的方法寻找最优的结构形式,以满足特定的性能要求。结构优化通常分为三个层次:尺寸优化(Sizing Optimization)、形状…...

PLC设计毕业设计入门指南:从硬件选型到梯形图实战

作为一名自动化专业的过来人,我深知做PLC毕业设计时那种既兴奋又迷茫的感觉。面对一堆陌生的硬件型号和复杂的编程软件,很多同学第一步就卡住了——该选哪个牌子的PLC?I/O点怎么算?梯形图画出来总是不对劲,仿真通过了&…...

Sigil:开源EPUB编辑工具解决电子书制作核心痛点的全面方案

Sigil:开源EPUB编辑工具解决电子书制作核心痛点的全面方案 【免费下载链接】Sigil Sigil is a multi-platform EPUB ebook editor 项目地址: https://gitcode.com/gh_mirrors/si/Sigil 在数字化阅读日益普及的今天,电子书制作面临着格式标准化、编…...

如何解决Sublime Text乱码问题:编码转换工具完全指南

如何解决Sublime Text乱码问题:编码转换工具完全指南 【免费下载链接】ConvertToUTF8 A Sublime Text 2 & 3 plugin for editing and saving files encoded in GBK, BIG5, EUC-KR, EUC-JP, Shift_JIS, etc. 项目地址: https://gitcode.com/gh_mirrors/co/Conv…...

那些被Windows“藏起来”的功能:找回属于你的选择权

引言:你的电脑,谁说了算?你有没有发现,Windows这些年越来越“霸道”了?明明习惯任务栏在左侧,新系统却强行把它固定在底部中央;明明喜欢经典右键菜单,新版本非要折叠起来多按一次“显…...

3大突破如何重塑Web机器学习开发?Transformers.js移动端AI框架深度解析

3大突破如何重塑Web机器学习开发?Transformers.js移动端AI框架深度解析 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: htt…...

从“不会写代码”到亲手上线产品:Makund 与 Madav 眼中的 AI 软件新范式

从“不会写代码”到亲手上线产品:Makund 与 Madav 眼中的 AI 软件新范式 开头摘要 在这场访谈中,Makund 与 Madav 围绕 Emergent 的产品演进、技术路线和用户变化,分享了他们对“非技术用户如何借助 AI 构建生产级软件”的判断。两人认为&…...

告别乱码困扰:ConvertToUTF8的高效编码转换完全指南

告别乱码困扰:ConvertToUTF8的高效编码转换完全指南 【免费下载链接】ConvertToUTF8 A Sublime Text 2 & 3 plugin for editing and saving files encoded in GBK, BIG5, EUC-KR, EUC-JP, Shift_JIS, etc. 项目地址: https://gitcode.com/gh_mirrors/co/Conve…...

生成PPT网站推荐|AI博主实测,程序员/职场人告别熬夜排版

一、PPT创作核心痛点分析(精准戳中CSDN用户需求)结合自身使用体验和身边程序员、职场人的反馈,目前大家在PPT创作中主要面临四大核心痛点,也是我们选择PPT生成网站的核心考量方向:1. 排版效率低:手动调整版…...

告别黑苹果配置噩梦:OpCore Simplify如何让EFI构建像搭积木一样简单

告别黑苹果配置噩梦:OpCore Simplify如何让EFI构建像搭积木一样简单 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 当你第三次因为ACPI补…...

如何借助AI驱动工具提升化学研究效率?面向科研人员的智能解决方案

如何借助AI驱动工具提升化学研究效率?面向科研人员的智能解决方案 【免费下载链接】chemcrow-public Chemcrow 项目地址: https://gitcode.com/gh_mirrors/ch/chemcrow-public ChemCrow是一款基于人工智能技术的化学任务处理工具,通过整合Langcha…...

如何通过Zotero PDF2zh插件解决英文文献阅读效率问题

如何通过Zotero PDF2zh插件解决英文文献阅读效率问题 【免费下载链接】zotero-pdf2zh PDF2zh for Zotero | Zotero PDF中文翻译插件 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-pdf2zh 在学术研究与文献管理过程中,英文文献的高效处理始终是研究者…...

信贷风控必看:WOE分箱从原理到落地(含Python实现与业务解释)

信贷风控中的WOE分箱:原理、实践与业务价值解析 在金融风控领域,数据科学家们常常需要将连续变量转化为离散区间,这个过程被称为"分箱"或"分桶"。而WOE(Weight of Evidence)分箱则是信用评分卡开发…...

StarWind iSCSI服务器避坑实录:从安装包获取到ESXi权限配置的全流程

StarWind iSCSI服务器实战指南:避开那些年我们踩过的坑 在虚拟化技术领域,iSCSI存储解决方案因其成本效益和灵活性备受青睐。StarWind作为一款高性能的iSCSI目标服务器软件,能够将普通服务器转变为专业级存储设备。然而,从软件获取…...

基于SSM的新闻稿件管理系统的设计实现 报社稿件记者管理系统

目录系统需求分析技术选型数据库设计核心功能实现统计与检索测试与部署扩展性考虑项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作系统需求分析 明确系统核心功能需求:用户角色分为管理员、…...

在 WorkBuddy 中添加自定义Ollama模型方法,已成功测试

概述 本文档总结了如何通过 WorkBuddy 的 international-ai-deploy 技能来添加和管理自定义 AI 模型,特别是针对本地 Ollama 服务的配置。文档涵盖了完整的流程,从技能安装到模型配置文件的创建。 安装 international-ai-deploy 技能 方法1:通…...

【数据库】Navicat16 安装与破解全攻略:从下载到无限试用

1. Navicat16 简介与下载准备 Navicat 是一款广受欢迎的数据库管理工具,支持 MySQL、PostgreSQL、Oracle、SQL Server 等多种数据库。Navicat16 是最新版本,相比之前版本在性能和功能上都有显著提升。对于数据库管理员和开发者来说,Navicat …...

VMware虚拟机下Linux非LVM分区扩容实战:从删除快照到xfs_growfs完整流程

VMware虚拟机下Linux非LVM分区扩容实战指南 在虚拟化环境中,Linux系统的存储空间管理是运维人员经常需要面对的问题。特别是对于那些没有采用LVM(逻辑卷管理)的传统分区方式,当存储空间不足时,扩容操作需要格外谨慎。本…...

Nano-Banana在MATLAB中的调用方法

Nano-Banana在MATLAB中的调用方法 用最简单的方式,让MATLAB用户也能玩转Nano-Banana模型 1. 开篇:为什么要在MATLAB里调用AI模型? 如果你经常用MATLAB做科学计算或数据处理,可能会遇到这样的情况:需要一些AI能力来增强…...

从零开始掌握SIL验算实战——基于HAZOPkit的完整流程解析

1. 什么是SIL验算?为什么需要HAZOPkit? 第一次接触SIL验算的朋友可能会被这个专业术语吓到。其实简单来说,SIL(安全完整性等级)验算就像给工厂的安全系统做"体检报告"。想象一下,工厂里那些负责紧…...

Rust Axum项目实战:用sea-orm搞定数据库连接(附完整代码)

Rust Axum与Sea-ORM实战:从零构建高并发数据库服务 在当今高并发的互联网服务架构中,Rust语言因其卓越的性能和内存安全性正获得越来越多开发者的青睐。而Axum作为Rust生态中快速崛起的Web框架,与Sea-ORM这一异步ORM强强联合,为构…...

从原理到实践:图解LACP动态聚合如何提升服务器网络带宽(含内核4.1+哈希算法更新)

从原理到实践:图解LACP动态聚合如何提升服务器网络带宽(含内核4.1哈希算法更新) 在数据中心和服务器集群中,网络带宽常常成为性能瓶颈。当单条物理链路无法满足流量需求时,LACP(Link Aggregation Control P…...

Ubuntu20.04 Autoware.universe部署实战:从环境配置到避坑指南

1. 环境准备:从零开始的Ubuntu20.04配置 在开始Autoware.universe部署之前,确保你的Ubuntu20.04系统处于一个相对干净的状态非常重要。我遇到过太多因为系统环境混乱导致的问题,比如ROS版本冲突、依赖项缺失等。如果你和我一样,之…...

LightRAG | 基于 PostgreSQL 向量插件构建知识图谱增强检索

1. 为什么需要知识图谱增强的检索系统 传统向量检索虽然能快速找到语义相似的文本片段,但在处理复杂逻辑关系时往往力不从心。想象你在分析一部小说时,不仅需要找到描写"爱情"的段落,还需要理清"角色A如何通过事件X影响角色B&…...

开源工具本地化指南:Obsidian-i18n实现跨语言界面适配全流程

开源工具本地化指南:Obsidian-i18n实现跨语言界面适配全流程 【免费下载链接】obsidian-i18n 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-i18n 技术民主化的核心在于消除使用障碍,而语言壁垒往往是开源工具普及的首要瓶颈。Obsidian…...

腐烂国度1 MOD安装全攻略:从GenericModEnabler配置到实战避坑(附文件结构详解)

腐烂国度1 MOD安装全攻略:从GenericModEnabler配置到实战避坑(附文件结构详解) 第一次接触《腐烂国度1》的MOD世界时,那种既兴奋又忐忑的心情至今记忆犹新。看着社区里各种炫酷的角色皮肤、实用的功能增强MOD,却因为安…...

【Jenkins插件】定位并修复因主题插件硬编码IP导致的页面加载性能瓶颈

1. 问题现象:Jenkins页面为何突然变慢? 最近在维护Jenkins系统时,突然发现页面加载变得异常缓慢。原本秒开的页面现在需要10秒以上才能完全加载,虽然功能都能正常使用,但等待时间实在让人抓狂。这种问题在持续集成环境…...

UE4性能优化实战:从帧率提升到资源瘦身的5个关键技巧

UE4性能优化实战:从帧率提升到资源瘦身的5个关键技巧 在游戏开发和虚拟现实项目中,性能优化往往是决定产品成败的关键因素之一。无论是追求60帧流畅体验的动作游戏,还是需要稳定渲染的VR应用,Unreal Engine 4(UE4&…...