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

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

文章目录

  • 一、300.最长递增子序列
  • 二、674.最长连续递增序列
  • 三、718.最长重复子数组


一、300.最长递增子序列

题目链接

代码如下:

class Solution {
public:int lengthOfLIS(vector<int>& nums) {if (nums.size() <= 1) return nums.size();vector<int> dp(nums.size(), 1); // 以每个数字为结尾的最长递增子序列至少为1int result = 0; // 这里初始化0或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); // 遍历i-1以内的所有数字,如果有比nums[i]小的,就可以在以该数字为结尾的最长递增子序列后加上1个nums[i],组成以nums[i]为结尾的新的最长递增子序列。在i-1之前可能有很多数字小于nums[i],所以要取能组成的最长子序列}if (dp[i] > result) result = dp[i]; // 最后的结果不在dp[nums,size() - 1]中,因为可能最长的递增子序列不是以最后一个数字为结尾的,所以要取以所有数字为结尾的最长递增子序列的最大值}return result;}
};

二、674.最长连续递增序列

题目链接

代码如下:

class Solution {
public:int findLengthOfLCIS(vector<int>& nums) {if (nums.size() <= 1) return nums.size(); // 若只有一个数字,直接返回1,不会继续执行;如果没有数字,直接返回0,不会继续执行。这样写是和题300保持一致,不会混淆int result = 0;vector<int> dp(nums.size(), 1);for (int i = 1; i < nums.size(); i++) {if (nums[i] > nums[i - 1]) dp[i] = dp[i - 1] + 1;if (dp[i] > result) result = dp[i];}return  result;}
};//if (nums.size() == 0) return 0;
//int  result = 1;
// 如果是这样写,result就应该初始化为1,因为如果result=0,输入只有一个数字,不会进入下面的for循环,结果输出0了,但正确应该是1。

三、718.最长重复子数组

题目链接

代码如下:

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

相关文章:

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

文章目录 一、300.最长递增子序列二、674.最长连续递增序列三、718.最长重复子数组 一、300.最长递增子序列 题目链接 代码如下&#xff1a; class Solution { public:int lengthOfLIS(vector<int>& nums) {if (nums.size() < 1) return nums.size();vector<…...

1、Tomcat

java介绍 Java语言和平台由以下几个主要部分组成&#xff1a; 1、Java编程语言(Java Language)&#xff1a;这是Java的核心部分&#xff0c;包括Java语法、关键字、数据类型、运算符、控制结构等。程序员使用Java语言来编写应用程序的源代码。 2、Java开发工具包(Java Developm…...

centos 内网实现mail发送

文章目录 1、frp 穿透公网和内网2、邮件 配置2.1、mail配置文件 3、测试 1、frp 穿透公网和内网 参考地址&#xff1a;https://zhaosongbin.blog.csdn.net/article/details/88865890 frps端部署在内网&#xff0c;frpc端部署在外网 frps端配置和上面文章中的一样&#xff0c…...

【雕爷学编程】MicroPython动手做(25)——语音合成与语音识别2

知识点&#xff1a;什么是掌控板&#xff1f; 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片&#xff0c;支持WiFi和蓝牙双模通信&#xff0c;可作为物联网节点&#xff0c;实现物联网应用。同时掌控板上集成了OLED…...

如何用C#实现上位机与下位机之间的Wi-Fi通信?

有IP协议支持的话用UDP报文或者TCP直接发IP地址和端口不行么&#xff1f;你说的WiFi难道是2.4GHz频率模块那种东东&#xff1f; 你既然用了wifi&#xff0c;那么只要上位机和下位机的对应wifi网卡都具有ip地址以及其协议支持&#xff0c;那么和网络编程没啥子明显区别的吧………...

学习笔记|大模型优质Prompt开发与应用课(二)|第五节:只需3步,优质Prompt秒变应用软件

原作者&#xff1a;依依│百度飞桨产品经理 一乔│飞桨开发者技术专家 分享内容 01:大模型应用简介 02:LLM应用开发范式 03: Al Studio大模型社区 04:AI对话类应用开发技巧 大模型技术爆发&#xff0c;各类应用产品涌现 文心产业级知识增强大模型 工作中的“超级助手”—…...

VB客运中心汽车售票管理系统设计与实现

摘 要:该系统是信息管理系统在售票管理方面的一个分支和具体运用,是为长治客运中心而设计的管理售票、车次、票价及客票收入统计等日常事物的系统。此系统选择Visual Basic 6.0作为开发工具来实现客运中心汽车售票所要求的各种功能。本文主要介绍了开发此管理系统的背景、必要…...

计算机网络——学习笔记

付费版&#xff1a;直接在上面的CSDN资源下载 免费版&#xff1a;https://wwsk.lanzouk.com/ijkcj13tqmyb 有疑问或者错误的地方可以在评论区指出&#xff0c;我会尽快回复 示例图&#xff1a;...

JSON对象

目录 简介 创建对象 ​编辑json对象作为属性值 json用于交换数据 简介 json&#xff1a;javascript object notation(js标记对象)是一种轻量化的数据交换模式&#xff0c;特点&#xff1a;体积小&#xff0c;数据量大 在js中&#xff0c;json是以对象的形式存在的&#x…...

26 用lsqnonlin求解最小二乘问题(matlab程序)

1.简述 函数语法 x lsqnonlin(fun,x0) 函数用于&#xff1a; 解决非线性最小二乘(非线性数据拟合)问题 解决非线性最小二乘曲线拟合问题的形式 变量x的约束上下限为ub和lb&#xff0c; x lsqnonlin(fun,x0)从x0点开始&#xff0c;找到fun中描述的函数的最小平方和。函数fu…...

Verilog语法学习——LV6_多功能数据处理器

LV6_多功能数据处理器 题目来源于牛客网 [牛客网在线编程_Verilog篇_Verilog快速入门 (nowcoder.com)](https://www.nowcoder.com/exam/oj?page1&tabVerilog篇&topicId301) 题目 描述 根据指示信号select的不同&#xff0c;对输入信号a,b实现不同的运算。输入信号a…...

发送信息----策略模式

发送信息----策略模式 发送信息 发送信息 发送信息到手机、邮箱等&#xff0c;可扩展 package mainimport ("errors""fmt" )type PushContext struct {Phone, Email, Message stringTage int }type PaymentStrategy interface {Push(*P…...

PySpark介绍与安装

Spark是什么 定义&#xff1a;Apache Spark是用于大规模数据&#xff08;large-scala data&#xff09;处理的统一&#xff08;unified&#xff09;分析引擎。 简单来说&#xff0c;Spark是一款分布式的计算框架&#xff0c;用于调度成百上千的服务器集群&#xff0c;计算TB、…...

细讲TCP三次握手四次挥手(三)

TCP/IP 协议族 在互联网使用的各种协议中最重要和最著名的就是 TCP/IP 两个协议。现在人们经常提到的 TCP/IP 并不一定是单指 TCP 和 IP 这两个具体的协议&#xff0c;而往往是表示互联网所使用的整个 TCP/IP 协议族。 互联网协议套件&#xff08;英语&#xff1a;Internet Pr…...

vue 组件中 data 为什么必须是函数

在Vue组件中&#xff0c;data选项为什么必须是函数而不是对象的原因是为了确保每个组件实例都拥有独立的数据副本。 当data选项是一个对象时&#xff0c;如果你有多个相同组件的实例&#xff0c;它们会共享同一个对象引用&#xff0c;这意味着一个组件的数据变化会影响到其他相…...

从零开始学python(十二)如何成为一名优秀的爬虫工程师

前言 回顾之前讲述了python语法编程 必修入门基础和网络编程&#xff0c;多线程/多进程/协程等方面的内容&#xff0c;后续讲到了数据库编程篇MySQL&#xff0c;Redis&#xff0c;MongoDB篇&#xff0c;和机器学习&#xff0c;全栈开发&#xff0c;数据分析前面没看的也不用往…...

为高性能计算构建,由亚马逊云科技Amazon Graviton3E驱动的最新实例正式可用

亚马逊云科技宣布两款基于最新一代自研芯片Amazon Graviton3E的新实例Amazon Elastic Compute Cloud&#xff08;Amazon EC2&#xff09;Hpc7g和Amazon EC2 C7gn正式可用。 其中&#xff0c;Hpc7g实例专为计算和网络密集型高性能计算&#xff08;HPC&#xff09;工作负载而构建…...

BUUCTF题目Crypto部分wp(持续更新)

Url编码 题目密文是%66%6c%61%67%7b%61%6e%64%20%31%3d%31%7d&#xff0c;根据题目名字使用python的urllib模块解码即可。flag{and 11} from urllib.parse import quote, unquotec r%66%6c%61%67%7b%61%6e%64%20%31%3d%31%7d m unquote(c, encodingutf-8) print(m)c2 quot…...

A Generalized Loss Function for Crowd Counting and Localization阅读笔记

简单来说&#xff0c;就是用了UOT来解决人群计数问题 代码&#xff1a;https://github.com/jia-wan/GeneralizedLoss-Counting-Pytorch.git 我改了一点的&#xff1a;https://github.com/Nightmare4214/GeneralizedLoss-Counting-Pytorch.git loss 设density map为 A { ( a…...

SocketD协议单链接双向RPC模式怎么实现

SocketD是一个基于Socket的通信框架&#xff0c;支持单链接双向RPC模式。在实现单链接双向RPC模式时&#xff0c;需要按照一定的协议进行通信&#xff0c;以下是一个简单的实现示例&#xff1a; 定义通信协议&#xff1a;首先&#xff0c;需要定义客户端和服务端之间的通信协议…...

FUTURE POLICE语音模型.NET平台调用实战:Windows桌面语音应用开发

FUTURE POLICE语音模型.NET平台调用实战&#xff1a;Windows桌面语音应用开发 你是不是也遇到过这样的场景&#xff1f;手头有一段重要的会议录音&#xff0c;或者一段外语学习材料&#xff0c;需要快速整理成文字。手动听写不仅耗时耗力&#xff0c;还容易出错。现在&#xf…...

ComfyUI-WanVideoWrapper显存优化终极指南:让8GB显卡也能流畅生成高清视频

ComfyUI-WanVideoWrapper显存优化终极指南&#xff1a;让8GB显卡也能流畅生成高清视频 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 还在为视频生成时的显存不足而烦恼吗&#xff1f;ComfyUI-…...

WarcraftHelper:让魔兽争霸3重获新生的兼容性增强工具

WarcraftHelper&#xff1a;让魔兽争霸3重获新生的兼容性增强工具 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否曾在现代电脑上尝试重温魔兽争…...

多品种小批量时代的排产革命:JVS-APS智能排产突破交付周期瓶颈

"紧急订单插入&#xff0c;全产线排程推倒重来"、"设备冲突、物料短缺让排产计划沦为纸上谈兵"、"明明产能充足&#xff0c;订单交付周期却比同行长30%"——这些困境正在困扰着越来越多的制造企业。在现代制造业中&#xff0c;多品种小批量生产模…...

Pixie微型LED链式显示模块技术解析与嵌入式驱动开发

1. Pixie显示模块技术解析与嵌入式驱动开发指南Pixie 是一款面向嵌入式系统的链式可扩展微型LED点阵显示模块&#xff0c;由Lixie Labs LLC&#xff08;Connor Nishijima&#xff09;设计并开源。其核心价值在于以极小物理尺寸&#xff08;20.6mm 34.7mm&#xff09;集成双57共…...

3GPP TS 23.256标准解读:无人机广播远程识别码(Broadcast Remote ID)到底是怎么工作的?

3GPP TS 23.256标准深度解析&#xff1a;无人机广播远程识别码的技术实现与合规路径 当一架无人机在城市上空盘旋时&#xff0c;地面人员如何快速确认它的合法身份&#xff1f;监管机构又该如何在密集的无线电环境中精准捕捉每一架飞行器的信息&#xff1f;这些问题的答案&…...

为什么你的Windows 11需要专业优化:4步高效解决方案

为什么你的Windows 11需要专业优化&#xff1a;4步高效解决方案 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and cust…...

一篇帮你搞定Arrays工具类!!!

一、引言最近在刷算法题的时候&#xff0c;用到了很多次Arrays的方法&#xff0c;因此&#xff0c;写一篇博客来整理一下相关用法二、介绍java.util.Arrays 是 Java 提供的数组操作工具类&#xff0c;包含了数组排序、查找、复制、比较、打印、填充等常用静态方法&#xff0c;无…...

GHelper:华硕笔记本的轻量级性能管理解决方案

GHelper&#xff1a;华硕笔记本的轻量级性能管理解决方案 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar, and …...

抖音批量下载工具:高效获取无水印视频与图文内容的全攻略

抖音批量下载工具&#xff1a;高效获取无水印视频与图文内容的全攻略 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback su…...