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

代码随想录打卡—day52—【子序列问题】— 8.31 最大子序列

共性

做完下面三题,发现三个的dp数组中i都是以 i 为结束的字串。

1 300. 最长递增子序列

300. 最长递增子序列

AC:

class Solution {
public:int dp[10010];  // 表示以i结束的子序列最大的长度/*if(nums[j] > nums[i])dp[j] = max(dp[j],dp[i] + 1);dp[0..nums.size()-1] = 1;每个i结束i++ , j = 0...n-1 j++模拟——*/int lengthOfLIS(vector<int>& nums) {for(int i = 0; i < nums.size();i++)dp[i] = 1;int ans = 0;for(int i = 0; i < nums.size();i++){for(int j = 0; j < i; j++){if(nums[j] < nums[i])dp[i] = max(dp[i],dp[j] + 1);}ans = max(ans,dp[i]);}return ans;}
};

2 674. 最长连续递增序列

674. 最长连续递增序列

和上一题差不多,就是 j 直接为 i - 1 即可。AC代码:

class Solution {
public:int dp[10010]; // 以i结束的子序列最长的连续递增的长度/*j = i-1if(nums[i] > nums[j])dp[i] = max(dp[i],dp[j])dp[0...n-1] = 1i++ j模拟——*/int findLengthOfLCIS(vector<int>& nums) {for(int i = 0; i < nums.size();i++)dp[i] = 1;int ans = 1;for(int i = 1; i < nums.size();i++){int j = i-1;if(nums[i] > nums[j])dp[i] = max(dp[i],dp[j]+1);ans = max(ans,dp[i]);cout << dp[i] << ' ';}return ans;}
};

前两题概括来说:

不连续递增子序列的跟前0-i 个状态有关,连续递增的子序列只跟前一个状态有关

3 718. 最长重复子数组

718. 最长重复子数组

重点:

1.

注意题目中说的子数组,暗指的是连续子序列

2.

int dp[1010][1010]; // nums1以i结尾! nums2的以j结尾! 最长公共子串的长度

以x结尾两个字串才可比较。

3.

需要重点理解dp[i][j] 只能从dp[i-1][j-1]推导出来 不能从dp[i-1][j] 或是dp[i][j-1]

carl一共在实现细节上给了三种方式,我使用了dp数组含义更加直观但是多写几行的第三种写法(在拓展部分)AC代码:

class Solution {
public:int dp[1010][1010]; // nums1以i结尾! nums2的以j结尾! 最长公共子串的长度/*需要重点理解dp[i][j] 只能从dp[i-1][j-1]推导出来 不能从dp[i-1][j] 或是dp[i][j-1]if(nums[i] == nums[j])dp[i][j] = dp[i - 1][j - 1] + 1else dp[i][j] = 0for(int j = 0; j < nums1.size();j++)if(nums2[0] == nums1[i]) dp[0][j] = 1else dp[0][j] = 0for(int i = 0; i < nums2.size();i++)if(nums1[0] == nums2[i]) dp[i][0] = 1else dp[i][0] = 0;i++ j++*/int findLength(vector<int>& nums1, vector<int>& nums2) {int ans = 0;for(int j = 0; j < nums1.size();j++){if(nums2[0] == nums1[j]) dp[0][j] = 1;else dp[0][j] = 0;ans = max(ans,dp[0][j]);}for(int i = 0; i < nums2.size();i++){if(nums1[0] == nums2[i]) dp[i][0] = 1;else dp[i][0] = 0;ans = max(ans,dp[i][0]);}for(int i = 1; i < nums2.size();i++){for(int j = 1; j < nums1.size();j++){if(nums2[i] == nums1[j])dp[i][j] = dp[i - 1][j - 1] + 1;else dp[i][j] = 0;ans = max(ans,dp[i][j]);}}// for(int i = 0; i < nums2.size();i++)// {//     for(int j = 0; j < nums1.size();j++)//         cout << dp[i][j] << ' ';//     cout << endl;// }return ans;}
};

相关文章:

代码随想录打卡—day52—【子序列问题】— 8.31 最大子序列

共性 做完下面三题&#xff0c;发现三个的dp数组中i都是以 i 为结束的字串。 1 300. 最长递增子序列 300. 最长递增子序列 AC&#xff1a; class Solution { public:int dp[10010]; // 表示以i结束的子序列最大的长度/*if(nums[j] > nums[i])dp[j] max(dp[j],dp[i] …...

gcc4.8.5升级到gcc4.9.2

第1步&#xff1a;获取repo [rootlocalhost SPECS]# wget --no-check-certificate https://copr.fedoraproject.org/coprs/rhscl/devtoolset-3/repo/epel-6/rhscl-devtoolset-3-epel-6.repo -O /etc/yum.repos.d/devtoolset-3.repo --2021-12-07 20:53:26-- https://copr.fedo…...

Golang 中的 archive/zip 包详解(三):常用函数

Golang 中的 archive/zip 包用于处理 ZIP 格式的压缩文件&#xff0c;提供了一系列用于创建、读取和解压缩 ZIP 格式文件的函数和类型&#xff0c;使用起来非常方便&#xff0c;本文讲解下常用函数。 zip.OpenReader 定义如下&#xff1a; func OpenReader(name string) (*R…...

微服务架构七种模式

微服务架构七种模式 目录概述需求&#xff1a; 设计思路实现思路分析 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result,wait for change,challenge Survive.…...

关于CICD流水线的前端项目运行错误,npm项目环境配置时出现报错:Not Found - GET https://registry.npm...

关于CICD流水线的前端项目运行错误&#xff0c;npm项目环境配置时出现报错&#xff1a;Not Found - GET https://registry.npm… 原因应该是某些jar包缓存中没有需要改变镜像将包拉下来 npm config set registry http://registry.npm.taobao.org npm install npm run build...

element-plus的周选择器 一周从周一开始

1、代码 1&#xff09;、template中 <el-date-picker v-model"value1" type"week" format"[Week] ww" placeholder"巡访周" change"change"value-format"YYYY-MM-DD" /> 2&#xff09;、方法中 import…...

Android 9.0 pms获取应用列表时过滤掉某些app功能实现

1.前言 在9.0的系统rom定制化开发中,对系统定制的功能也是很多的,在一次产品开发中,要求在第三方app获取应用列表的时候,需要过滤掉某些app,就是不显示在app应用列表中,这就需要在pms查询app列表时过滤掉这些app就可以了,接下来就实现这些功能 2.pms获取应用列表时过滤掉…...

HTML <thead> 标签

实例 带有 thead、tbody 以及 tfoot 元素的 HTML 表格: <table border="1"><thead><tr><th>Month</th><th>Savings</th></tr></thead><tfoot><tr><td>Sum</td><td>$180<…...

谷歌发布Gemini以5倍速击败GPT-4

在Covid疫情爆发之前&#xff0c;谷歌发布了MEENA模型&#xff0c;短时间内成为世界上最好的大型语言模型。谷歌发布的博客和论文非常可爱&#xff0c;因为它特别与OpenAI进行了比较。 相比于现有的最先进生成模型OpenAI GPT-2&#xff0c;MEENA的模型容量增加了1.7倍&#xf…...

力扣92. 局部反转链表

92. 反转链表 II 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], left 2, right 4 输出&am…...

九、适配器模式

一、什么是适配器模式 适配器模式&#xff08;Adapter&#xff09;的定义如下&#xff1a;将一个类的接口转换成客户希望的另外一个接口&#xff0c;使得原本由于接口不兼容而不能一起工作的那些类能一起工作。 适配器模式&#xff08;Adapter&#xff09;包含以下主要角色&…...

使用spring自带的发布订阅来实现发布订阅

背景 公司的项目以前代码里面有存在使用spring自带发布订阅的代码&#xff0c;因此稍微学习一下如何使用&#xff0c;并了解一下这种实现方式的优缺点。 优点 实现方便&#xff0c;代码方面基本只需要定义消息体和消费者&#xff0c;适用于小型应用程序。不依赖外部中间件&a…...

Walmart电商促销活动即将开始,如何做促销活动?需要注意什么?

近日&#xff0c;沃尔玛官宣Baby Days优惠活动将于9月1日正式开始&#xff01;卖家可以把握机会&#xff0c;通过设置促销定价&#xff0c;以最优惠的婴儿相关产品价格吸引消费者&#xff0c;包括汽车座椅、婴儿车、尿布袋、家具、床上用品、消耗品、婴儿服装、孕妇装等。注意本…...

Matlab(画图进阶)

目录 大纲 1.特殊的Plots 1.1 loglog(双对数刻度图) ​1.3 plotyy(创建具有两个y轴的图形) 1.4yyaxis(创建具有两个y轴的图) 1.5 bar 3D条形图(bar3) 1.6 pie(饼图) 3D饼图 1.7 polar 2.Stairs And Ste阶梯图 3.Boxplot 箱型图和Error Bar误差条形图 3.1 boxplot 3.2 …...

人生的回忆

回忆是人类宝贵的精神财富&#xff0c;它们像一串串珍珠&#xff0c;串联起我们生活中的每一个片段。 回忆是时间的见证者&#xff0c;它们承载着我们成长、经历、悲欢离合的点点滴滴。 回忆让我们重温过去的欢笑与眼泪&#xff0c;感受那些已经逝去的时光。它们就像一本翻开的…...

Spring之依赖注入源码解析

Spring之依赖注入源码解析 Spring依赖注入的方式 手动注入 在XML中定义Bean时&#xff0c;即为手动注入&#xff0c;因为是程序员手动给某个属性指定了值。 通过set方式进行注入 <bean name"userService" class"com.luban.service.UserService">…...

5G NR:RACH流程-- Msg1之生成PRACH Preamble

随机接入流程中的Msg1&#xff0c;即在PRACH信道上发送random access preamble。涉及到两个问题&#xff1a; 一个是如何产生preamble&#xff1f;一个是如何选择正确的PRACH时频资源发送所选的preamble? 一、PRACH Preamble是什么 PRACH Preamble从数学上来讲是一个长度为…...

高基数类别特征预处理:平均数编码 | 京东云技术团队

一 前言 对于一个类别特征&#xff0c;如果这个特征的取值非常多&#xff0c;则称它为高基数&#xff08;high-cardinality&#xff09;类别特征。在深度学习场景中&#xff0c;对于类别特征我们一般采用Embedding的方式&#xff0c;通过预训练或直接训练的方式将类别特征值编…...

高效利用隧道代理实现无阻塞数据采集

在当今信息时代&#xff0c;大量的有价值数据分散于各个网站和平台。然而&#xff0c;许多网站对爬虫程序进行限制或封禁&#xff0c;使得传统方式下的数据采集变得困难重重。本文将向您介绍如何通过使用隧道代理来解决这一问题&#xff0c;并帮助您成为一名高效、顺畅的数据采…...

图论岛屿问题DFS+BFS

leetcode 200 岛屿问题 class Solution {//定义对应的方向boolean [][] visited;int dir[][]{{0,1},{1,0},{-1,0},{0,-1}};public int numIslands(char[][] grid) {//对应的二维数组int count0;visitednew boolean[grid.length][grid[0].length];for (int i 0; i < grid.l…...

毕业答辩结束了,但我后悔没早点知道这件事

毕业答辩是学子学术生涯的收官之战&#xff0c;而答辩PPT则是学术成果的“可视化名片”&#xff0c;其逻辑清晰度、重点突出度与专业呈现力&#xff0c;直接影响答辩的最终走向。对多数学子而言&#xff0c;论文定稿后&#xff0c;PPT制作往往成为新的焦虑源泉&#xff1a;要么…...

一套代码适配四种屏幕——StyleConfiguration 键盘多设备适配方案

文章目录问题在哪&#xff1f;StyleConfiguration 的设计思路KeyStyle 接口定义StyleConfiguration.getInputStyle 完整逻辑资源文件命名规范组件如何使用 StyleConfiguration屏幕旋转适配完整流程这种设计模式的通用价值踩坑记录写在最后搞输入法开发最头疼的事情之一就是屏幕…...

Midjourney镜头类型选择终极决策树(附可下载PDF流程图):输入拍摄意图→自动匹配最优镜头词+推荐--stylize值+规避AI视觉歧义

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;Midjourney镜头类型选择终极决策树概览 在 Midjourney V6 中&#xff0c;镜头类型&#xff08;Lens Type&#xff09;并非独立参数&#xff0c;而是通过组合 --style raw、 --s 750 及语义化摄影术语提示词协…...

Midjourney年度订阅避坑手册:92%用户不知的3大失效风险——自动续费陷阱、区域定价欺诈、账户绑定漏洞

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney年度订阅优惠全景透视 Midjourney 作为当前主流的 AI 图像生成服务&#xff0c;其年度订阅计划长期受到创作者与团队用户的高度关注。相比月度订阅&#xff0c;年度方案不仅显著降低单月成本…...

ATmega328P烧录Bootloader报错?别急着换芯片,可能是签名搞的鬼(附avrdude.conf修改教程)

ATmega328P烧录Bootloader报错&#xff1f;别急着换芯片&#xff0c;可能是签名搞的鬼&#xff08;附avrdude.conf修改教程&#xff09; 当你兴致勃勃地准备给新买的ATmega328P芯片烧录Bootloader时&#xff0c;突然弹出一串红色报错信息&#xff0c;那种心情就像煮熟的鸭子飞走…...

3分钟快速上手:MetaTube插件为Jellyfin/Emby自动刮削完整元数据指南

3分钟快速上手&#xff1a;MetaTube插件为Jellyfin/Emby自动刮削完整元数据指南 【免费下载链接】jellyfin-plugin-metatube MetaTube Plugin for Jellyfin/Emby 项目地址: https://gitcode.com/gh_mirrors/je/jellyfin-plugin-metatube MetaTube插件是专为Jellyfin和Em…...

2026年初中生赴新加坡留学,费用究竟几何?一文为你揭秘!

在教育全球化的今天&#xff0c;越来越多的家长将目光投向海外&#xff0c;新加坡凭借其优质的教育资源、安全的社会环境和多元的文化氛围&#xff0c;成为众多初中生留学的热门选择。那么&#xff0c;2026年初中生赴新加坡留学的费用到底是多少呢&#xff1f;本文将为你详细揭…...

抖音无水印视频下载技术深度解析:双架构设计与性能优化方案

抖音无水印视频下载技术深度解析&#xff1a;双架构设计与性能优化方案 【免费下载链接】douyin_downloader 抖音短视频无水印下载 win编译版本下载&#xff1a;https://www.lanzous.com/i9za5od 项目地址: https://gitcode.com/gh_mirrors/dou/douyin_downloader 抖音无…...

Input Leap跨设备键盘鼠标共享3步配置指南

Input Leap跨设备键盘鼠标共享3步配置指南 【免费下载链接】input-leap Open-source KVM software 项目地址: https://gitcode.com/gh_mirrors/in/input-leap Input Leap是一款功能强大的开源KVM软件&#xff0c;能够帮助用户在不同操作系统和设备之间实现键盘鼠标的完美…...

WzComparerR2:冒险岛游戏数据的终极可视化与解密平台

WzComparerR2&#xff1a;冒险岛游戏数据的终极可视化与解密平台 【免费下载链接】WzComparerR2 Maplestory online Extractor 项目地址: https://gitcode.com/gh_mirrors/wz/WzComparerR2 你是否曾经好奇《冒险岛》游戏中那些精美的装备图标、华丽的技能动画和复杂的地…...