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

LeetCode——动态规划篇(六)

刷题顺序及思路来源于代码随想录,网站地址:https://programmercarl.com 

目录

300. 最长递增子序列 - 力扣(LeetCode)

674. 最长连续递增序列 - 力扣(LeetCode)

718. 最长重复子数组 - 力扣(LeetCode)


300. 最长递增子序列 - 力扣(LeetCode)

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

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

输入:nums = [10,9,2,5,3,7,101,18]
输出:4
解释:最长递增子序列是 [2,3,7,101],因此长度为 4 

import java.util.Arrays;/*** @author light* @Description 最长递增子序列*** (思路:数组中只要有递增的就行,无需连续* 动态规划--弄明白dp数组所表示的含义* dp[i]:nums[i]之前(包括nums[i])的字序列最大递增子序列长度为dp[i]* @create 2023-10-15 9:50*/
public class LengthOfLISTest {public static void main(String[] args) {int[] nums={0,1,0,3,2};System.out.println(lengthOfLIS(nums));}public static  int lengthOfLIS(int[] nums) {int[] dp=new int[nums.length];Arrays.fill(dp, 1);//初始化int result=1;for (int i = 1; i < nums.length; i++) {for (int j = 0; j < i; j++) {if (nums[i] > nums[j]) dp[i] = Math.max(dp[i], dp[j] + 1);}if (dp[i] > result) result = dp[i]; // 取长的子序列}return result;}
}

674. 最长连续递增序列 - 力扣(LeetCode)

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

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


import java.util.Arrays;/*** @author light* @Description  最长连续递增的子序列* (思路:只需考虑nums[i]和nums[i-1]* @create 2023-10-15 10:49*/
public class FindLengthOfLCISTest {public int findLengthOfLCIS(int[] nums) {int[] dp=new int[nums.length];Arrays.fill(dp,1);int res=1;for (int i = 1; i < nums.length; i++) {if(nums[i]>nums[i-1]){dp[i]=dp[i-1]+1;}res=Math.max(dp[i],res);}return res;}
}

718. 最长重复子数组 - 力扣(LeetCode)

给两个整数数组 nums1 和 nums2 ,返回 两个数组中 公共的 、长度最长的子数组的长度 

输入:nums1 = [1,2,3,2,1], nums2 = [3,2,1,4,7]
输出:3
解释:长度最长的公共子数组是 [3,2,1] 。

/*** @author light* @Description 最长重复子数组** 给两个整数数组 nums1 和 nums2 ,返回 两个数组中 公共的 、长度最长的子数组的长度 。** (思路:搞清dp数组含义* dp[i][j]:以i-1为结尾的数组nums1和以j-1为结尾的数组nums2的最长重复子数组长度为dp[i][j]* 比以i,j为结尾的好处:简化了dp数组的初始化;使得dp[i][0]和dp[0][j]没有意义* @create 2023-10-15 13:38*/
public class FindLengthTest {public int findLength(int[] nums1, int[] nums2) {//dp[i][j]:以i-1为结尾的数组nums1和以j-1为结尾的数组nums2的最长重复子数组长度为dp[i][j]int[][] dp=new int[nums1.length+1][nums2.length+1];int res=0;for (int i = 1; i <=nums1.length; i++) {for (int j = 1; j <=nums2.length; j++) {if(nums1[i-1]==nums2[j-1]){dp[i][j]=dp[i-1][j-1]+1;}res= Math.max(dp[i][j],res);}}return res;}
}

相关文章:

LeetCode——动态规划篇(六)

刷题顺序及思路来源于代码随想录&#xff0c;网站地址&#xff1a;https://programmercarl.com 目录 300. 最长递增子序列 - 力扣&#xff08;LeetCode&#xff09; 674. 最长连续递增序列 - 力扣&#xff08;LeetCode&#xff09; 718. 最长重复子数组 - 力扣&#xff08…...

sql 注入(2), 文件读写 木马植入 远程控制

sql 注入 文件读写 木马植入 远程控制 一, 检测读写权限 查看mysql全局变量 SHOW GLOBAL VARIABLES LIKE %secure%secure_file_priv 空, 则任意读写secure_file_priv 路径, 则只能读写该路径下的文件secure_file_priv NULL, 则禁止读写二, 读取文件, 使用 load_file() 函数…...

求直角三角形第三点的坐标

文章目录 求直角三角形第三点的坐标1. 原理2. 数学公式3. 推导过程 求直角三角形第三点的坐标 1. 原理 已知内容有&#xff1a; P1、P2 两点的坐标&#xff1b; dis1 为 P1与P2两点之间的距离&#xff1b; dis2 为 P2与P3两点之间的距离&#xff1b; 求解&#xff1a; …...

【Kotlin精简】第3章 类与接口

1 简介 Kotlin类的声明和Java没有什么区别&#xff0c;Kotlin中&#xff0c;类的声明也使用class关键字&#xff0c;如果只是声明一个空类&#xff0c;Kotlin和Java没有任何区别&#xff0c;不过定义类的其他成员会有一些区别。实例化类不用写new&#xff0c;类被继承或者重写…...

关于面试以及小白入职后的一些建议

面试的本质 面试的过程是一个互相选择的过程&#xff1b;面试官的诉求是&#xff0c;了解应聘者的个人基本信息、工作态度、专业能力及其他综合能力是否与公司招聘岗位匹配&#xff1b;面试者的诉求是&#xff0c;拿下招聘岗位offer&#xff0c;获得工作报酬&#xff1b; 面试…...

Excel 从网站获取表格

文章目录 导入网站数据导入股票实时行情 用 Excel 获取网站数据的缺点&#xff1a;只能获取表格类的数据&#xff0c;不能获取非结构化的数据。 导入网站数据 转到地址之后&#xff1a; 实测该功能经常导致 Excel 卡死。 导入股票实时行情...

rsync 备份工具(附rsync+inotify 实时同步部署实例)

rsync 备份工具(附rsyncinotify 实时同步部署实例&#xff09; 1、rsync概述1.1关于rsync1.2rsync 的特点1.3工作原理 2、rsync相关命令2.1基本格式和常用选项2.2启动和关闭rsync服务2.3下行同步基本格式2.4上行同步基本格式2.5免交互2.5.1指定密码文件2.5.2rsync-daemon方式2.…...

Java架构师缓存性能优化

目录 1 缓存的负载策略2 缓存的序列化问题3 缓存命中率低4 缓存对数据库高并发访问5 缓存数据刷新的策略5.1. 实时策略5.2. 异步策略5.3. 定时策略6 何时写缓存7 批量数据来更新缓存8 缓存数据过期的策略9 缓存数据如何恢复10 缓存数据如何迁移11 缓存冷启动和缓存预热想学习架…...

探索服务器潜能:创意项目、在线社区与其他应用

目录 一、部署自己的创意项目 优势&#xff1a; 劣势&#xff1a; 结论&#xff1a; 二、打造一款全新的在线社区 优势&#xff1a; 劣势&#xff1a; 结论&#xff1a; 三、其他用途 总结&#xff1a; 随着互联网的发展&#xff0c;越来越多的人开始拥有自己的服务器…...

「网络编程」网络层协议_ IP协议学习_及深入理解

「前言」文章内容是网络层的IP协议讲解。 「归属专栏」网络编程 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、IP协议简介二、IP协议报头三、IP网段划分&#xff08;子网划分&#xff09;四、特殊的IP地址五、IP地址的数量限制六、私有IP地址和公网IP地址七、路由八、分…...

Go 1.21 新内置函数:min、max 和 clear

max 函数 func max[T cmp.Ordered](x T, y …T) T 这是一个泛型函数&#xff0c;用于从一组值中寻找并返回 最大值&#xff0c;该函数至少要传递一个参数。在上述函数签名中&#xff0c;T 表示类型参数&#xff0c;它必须满足 cmp.Ordered 接口中定义的数据类型要求&#xff0…...

家居行业如何打破获客困局?2023重庆建博会现场,智哪儿AI营销第一课给出了答案

10月12日-14日&#xff0c;2023中国&#xff08;重庆&#xff09;建筑及装饰材料博览会&#xff08;简称&#xff1a;2023中国重庆建博会&#xff09;正在重庆国际博览中心如火如荼地进行。「智哪儿」携手2023中国重庆建博会主办方共同主办的《2023家居行业AI营销第一课&#x…...

Spring framework Day11:策略模式中注入所有实现类

前言 什么是策略模式&#xff1f; 策略模式&#xff08;Strategy Pattern&#xff09;是一种面向对象设计模式&#xff0c;它定义了算法族&#xff08;一组相似的算法&#xff09;&#xff0c;并且将每个算法都封装起来&#xff0c;使得它们可以互相替换。策略模式让算法的变…...

MBBF展示的奇迹绿洲:5G的过去、此刻与未来

如果你来迪拜&#xff0c;一定不会错过全世界面积最大的人工岛项目&#xff0c;这是被称为世界第八大奇迹的棕榈岛。多年以来&#xff0c;这座岛从一片砂石、一棵棕榈树开始&#xff0c;逐步建成了整个波斯湾地区的地标&#xff0c;吸引着全世界游人的脚步。 纵观整个移动通信发…...

加持智慧医疗,美格智能5G数传+智能模组让就医触手可及

智慧医疗将云计算、物联网、大数据、AI等新兴技术融合赋能医疗健康领域&#xff0c;是提高医疗健康服务的资源利用效率&#xff0c;创造高质量健康医疗的新途径。《健康中国2030规划纲要》把医疗健康提升到了国家战略层面&#xff0c;之后《“十四五”全面医疗保障规划》等一系…...

Stm32_标准库_14_串口蓝牙模块_手机与蓝牙模块通信_实现模块读取并修改信息

由手机向蓝牙模块传输时间信息&#xff0c;Stm32获取信息并将已存在信息修改为传入信息 测试代码&#xff1a; #include "stm32f10x.h" // Device header #include "Delay.h" #include "OLED.h" #include "Serial.h"uint16_t num…...

UDP 的报文结构

UDP的报文结构&#xff1a; 其中前面的源端口号和目的端口号&#xff0c;UDP长度和UDP检验和&#xff0c;它们都是2个字节。 那么什么是UDP长度呢&#xff0c;它指的是后面的数据的长度&#xff0c;换算单位也就是64kb&#xff0c;因此一个数据报&#xff08;数据&#xff09;最…...

torch.hub.load报错urllib.error.HTTPError: HTTP Error 403: rate limit exceeded

在运行DINOv2的示例代码时&#xff0c;需要载入预训练的模型&#xff0c;比如&#xff1a; backbone_model torch.hub.load(repo_or_dir"facebookresearch/dinov2", modelbackbone_name) torch.hub.load报错“urllib.error.HTTPError: HTTP Error 403: rate limit…...

测试左移右移-理论篇

目录 前言一、浅解左移1.什么是测试左移&#xff1f;1.1对产品1.2对开发1.3对测试1.4对运维 二、浅解右移1.1对产品1.2对开发1.3对测试1.4对运维 三、总结 前言 测试左移右移&#xff0c;很多人说能让测试更拥有主动权&#xff0c;展示出测试岗位也是有很大的价值&#xff0c;…...

【TensorFlow2 之015】 在 TF 2.0 中实现 AlexNet

一、说明 在这篇文章中&#xff0c;我们将展示如何在 TensorFlow 2.0 中实现基本的卷积神经网络 \(AlexNet\)。AlexNet 架构由 Alex Krizhevsky 设计&#xff0c;并与 Ilya Sutskever 和 Geoffrey Hinton 一起发布。并获得Image Net2012竞赛中冠军。 教程概述&#xff1a; 理论…...

ARM CTI寄存器安全机制与调试接口设计详解

1. ARM CTI寄存器架构概述在嵌入式系统开发领域&#xff0c;调试接口的安全性和可靠性一直是工程师面临的核心挑战。ARM架构中的CTI&#xff08;Cross-Trigger Interface&#xff09;寄存器组提供了一套完整的硬件级调试解决方案&#xff0c;特别是在多核调试和复杂系统监控场景…...

手把手教你用PyTorch 0.4.1复现D-LinkNet道路分割(附完整代码与数据集)

从零复现D-LinkNet道路分割&#xff1a;PyTorch 0.4.1实战指南 当你在GitHub上发现一个两年前的热门道路分割项目D-LinkNet&#xff0c;却发现它依赖PyTorch 0.4.1和CUDA 8.0这种"古董级"环境时&#xff0c;是否感到无从下手&#xff1f;本文将带你穿越时空&#xf…...

智慧巡检-基于改进RT-DETR的道路交通小目标检测系统(含UI界面、yolov8、Python代码、数据集)基于 PyTorch 和 PyQt5 RT-DETR 或 YOLOv8

智慧巡检-基于改进RT-DETR的道路交通小目标检测系统&#xff08;含UI界面、yolov8、Python代码、数据集&#xff09;外接摄像头实时检测识别。以官方yolov8为主干&#xff0c;实现对道路交通小目标检测识别&#xff08;OpenCV实现对交通目标的检测&#xff0c;训练的分类模型识…...

适合情侣复合的歌曲|一开口就破防,唱尽遗憾与舍不得,听完都想重新在一起

有些分开不是不爱&#xff0c;只是赌气、误会、嘴硬、放不下面子。明明心里还惦记&#xff0c;却谁都不肯先低头&#xff1b;明明还深爱&#xff0c;却硬生生走成了陌路。想复合&#xff0c;却不知怎么开口&#xff1b;想挽回&#xff0c;又怕被拒绝、怕尴尬、怕自作多情。其实…...

如何快速实现语音转文字:AsrTools 零配置音频转字幕工具指南

如何快速实现语音转文字&#xff1a;AsrTools 零配置音频转字幕工具指南 【免费下载链接】AsrTools ✨ AsrTools: Smart Voice-to-Text Tool | Efficient Batch Processing | User-Friendly Interface | No GPU Required | Supports SRT/TXT Output | Turn your audio into acc…...

AI舞蹈生成实战:从扩散模型原理到seedance-2.0部署与调优

1. 项目概述&#xff1a;从种子到舞蹈的AI生成革命最近在AI生成领域&#xff0c;一个名为“seedance-2.0”的项目引起了我的注意。这个项目名本身就很有意思&#xff0c;“seedance”可以拆解为“seed”&#xff08;种子&#xff09;和“dance”&#xff08;舞蹈&#xff09;&a…...

终极OpenSpeedy游戏加速教程:5分钟解锁老游戏流畅体验

终极OpenSpeedy游戏加速教程&#xff1a;5分钟解锁老游戏流畅体验 【免费下载链接】OpenSpeedy &#x1f3ae; An open-source game speed modifier. 项目地址: https://gitcode.com/gh_mirrors/op/OpenSpeedy 还在为经典老游戏在现代电脑上运行卡顿而烦恼吗&#xff1f…...

ARM调试异常与调试状态机制详解

1. ARM调试异常机制深度解析调试异常是ARM处理器调试体系中的核心机制&#xff0c;当处理器在监控调试模式(Monitor debug-mode)下发生特定调试事件时触发。理解这一机制对于嵌入式系统开发至关重要&#xff0c;它直接影响着断点设置、单步调试等基础调试功能的实现效果。1.1 调…...

NextPy全栈框架:用Python构建AI智能体Web应用

1. 项目概述&#xff1a;当AI智能体遇上全栈Web开发最近在开源社区里&#xff0c;一个名为dot-agent/nextpy的项目引起了我的注意。作为一名长期在Web开发和AI应用落地之间“反复横跳”的开发者&#xff0c;我深知将AI能力&#xff0c;特别是智能体&#xff08;Agent&#xff0…...

【日本顶尖名校-日本早稻田大学主办 | ACM出版 | 连续2届稳定检索,见刊后1个月左右即完成EIScopus双检索 | 设海内外双会场】第三届人工智能与未来教育国际学术会议(AIFE 2026)

可靠&#xff01;连续2届稳定检索&#xff0c;见刊后1个月左右即完成EI & Scopus双检索&#xff0c;检索速度快、收录稳定 热门&#xff01;会议聚焦“人工智能教育”这一前沿交叉主题&#xff0c;契合当前学术热点 权威&#xff01;本届会议由日本顶尖名校-日本早稻田大学…...