代码随想录训练营第52天|300.最长递增子序列,674.最长连续递增子序列,718.最长重复子序列

代码随想录训练营第52天|300.最长递增子序列,674.最长连续递增子序列,718.最长重复子序列

  • 300.最长递增子序列
    • 文章
    • 思路
    • 代码
  • 674.最长连续递增序列
    • 文章
    • 思路
    • 代码
  • 718.最长重复子数组
    • 文章
    • 思路
    • 代码
  • 总结

300.最长递增子序列

文章

代码随想录|0300.最长上升子序列

思路

d p [ i ] = M a x ( M a x n u m s [ i ] > n u m s [ j ] & & i > j ( d p [ j ] ) + 1 , 1 ) dp[i] = Max(Max_{nums[i]>nums[j]\&\&i >j}(dp[j]) + 1, 1) dp[i]=Max(Maxnums[i]>nums[j]&&i>j(dp[j])+1,1)

代码

class Solution {public int lengthOfLIS(int[] nums) {int i, j, n;int res = 1;n = nums.length;int[] dp = new int[n];for (i = 0; i < n; ++i) {dp[i] = 1;for (j = i - 1; j > -1; --j) {if (nums[i] > nums[j]) {dp[i] = Math.max(dp[i], dp[j] + 1);res  = res > dp[i] ? res : dp[i];}}}return res;}
}

674.最长连续递增序列

文章

代码随想录|0674.最长连续递增序列

思路

反而比上一题简单,连续序列意味着不需要遍历i之前的所有位置
只需要0nums[i]>nums[i-1]即可令dp[i]=dp[i-1]+1

代码

class Solution {public int findLengthOfLCIS(int[] nums) {int i, n;n = nums.length;int[] dp = new int[n];dp[0] = 1;int res = 1;for (i = 1; i < n; ++i) {if (nums[i] > nums[i - 1]) {dp[i] = dp[i - 1] + 1;res = res > dp[i] ? res :  dp[i];} else {dp[i] = 1;}}return res;}
}

718.最长重复子数组

文章

代码随想录|0718.最长重复子数组

思路

提示要用二维数组dp
dp[i][j]表示nums1的第i位为末尾的nums1的子数组和以nums2的第j位为末尾的nums2子数组中最长重复的长度,如果nums1[i]与nums2[j]相同则
d p [ i ] [ j ] = d p [ i − 1 ] [ j − 1 ] + 1 dp[i][j]=dp[i-1][j-1]+1 dp[i][j]=dp[i1][j1]+1
否则 d p [ i ] [ j ] = 0 dp[i][j]=0 dp[i][j]=0

代码

class Solution {public int findLength(int[] nums1, int[] nums2) {int res = 0;int i, j, m, n;m = nums1.length;n = nums2.length;int[][] dp = new int[m][n];// dp[0][0] = nums1[0] == nums2[0] ? 1 : 0;for (i = 0; i < m; ++i) {for (j = 0; j < n; ++j) {if (i > 0 && j > 0 && nums1[i] == nums2[j]) {dp[i][j] = dp[i - 1][j - 1] + 1;} else if (nums1[i] == nums2[j]) {dp[i][j] = 1;}res = res > dp[i][j] ? res : dp[i][j];}}return res;}
}

总结

基本上是N年前刷过的题,就像阔别已久的老友
欲买桂花同载酒!

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

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

相关文章

【Node.js操作SQLite指南】

Node.js操作SQLite指南 在本篇博客中&#xff0c;我们将学习如何在Node.js中操作SQLite数据库。我们将使用sqlite3模块来创建数据库、创建表以及进行数据的增删改查操作。 文章目录 Node.js操作SQLite指南安装sqlite3模块创建数据库创建表数据的增删改查插入数据查询数据更新…

【Redis】深入探索 Redis 的数据类型 —— 列表 List

文章目录 一、List 类型介绍二、List 类型相关命令2.1 LPUSH 和 RPUSH、LPUSHX 和 RPUSHX2.2 LPOP 和 RPOP、BLPOP 和 BRPOP2.3 LRANGE、LINDEX、LINSERT、LLEN2.4 列表相关命令总结 三、List 类型内部编码3.1 压缩列表&#xff08;ziplist&#xff09;3.2 链表&#xff08;lin…

《向量数据库指南》——Milvus Cloud云原生分布式向量数据库的优势有哪些?

首先解释一下什么是分布式,什么是云原生。分布式的概念相对容易理解,就是系统的各个组件在不同的节点上进行协作和分工,以实现更大规模和更高性能的处理。而云原生并不仅仅指运行在 Kubernetes(K8s)上或在公有云上的服务。在我的理解中,分布式云原生意味着系统首先是一个…

【Java 基础篇】Java可变参数:灵活处理不定数量的方法参数

在Java编程中&#xff0c;可变参数是一项强大的功能&#xff0c;它允许你编写更加灵活的方法&#xff0c;接受不定数量的参数。本文将详细解释Java可变参数的用法、语法以及最佳实践。 什么是可变参数&#xff1f; 可变参数是Java 5引入的一项功能&#xff0c;它允许你在方法…

汇总selenium利用xpath等找网页节点的方法

一、通过子节点定位父节点&#xff0c;模拟建立一个test.html <!--子节点定位父节点--> <html> <body> <div id"A"><div>定位到这里1<div>定位到这里2<div>定位到这里3<div id"C">子节点</div><…

【Spring Boot自动装配】

Spring Boot启动的时候会通过EnableAutoConfiguration注解找到META-INF/spring.factories配置文件中的所有自动配置类&#xff0c;并对其进行加载&#xff0c;而这些自动配置类都是以AutoConfiguration结尾来命名的&#xff0c;它实际上就是一个JavaConfig形式的Spring容器配置…

kafka事务的详解

一 kafka事务的机制 1.1 kafka的事务机制 通过事务机制&#xff0c;KAFKA 可以实现对多个 topic 的多个 partition 的原子性的写入&#xff0c;即处于同一个事务内的所有消息&#xff0c;不管最终需要落地到哪个 topic 的哪个 partition, 最终结果都是要么全部写成功&#xf…

贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析免疫球蛋白、前列腺癌数据...

原文链接&#xff1a;http://tecdat.cn/?p22702 贝叶斯回归分位数在最近的文献中受到广泛关注&#xff0c;本文实现了贝叶斯系数估计和回归分位数&#xff08;RQ&#xff09;中的变量选择&#xff0c;带有lasso和自适应lasso惩罚的贝叶斯&#xff08;点击文末“阅读原文”获取…

vue基础知识十:Vue中组件和插件有什么区别?

一、组件是什么 回顾以前对组件的定义&#xff1a; 组件就是把图形、非图形的各种逻辑均抽象为一个统一的概念&#xff08;组件&#xff09;来实现开发的模式&#xff0c;在Vue中每一个.vue文件都可以视为一个组件 组件的优势 降低整个系统的耦合度&#xff0c;在保持接口不…

求组合数(递推法)

杨辉三角 1 C(0, 0) 1 1 C(1, 0) C(1, 1) 1 2 1 -------> C(2, 0) C(2, 1) C(2, 2) 我们就可以得出递推式为C[i][j] C[i - 1][j - 1] C[i - 1][j]; 扑克牌 - 洛谷 解&#xff1a; #…

【洛谷 P1364】医院设置 题解(图论+深度优先搜索)

医院设置 题目描述 设有一棵二叉树&#xff0c;如图&#xff1a; 其中&#xff0c;圈中的数字表示结点中居民的人口。圈边上数字表示结点编号&#xff0c;现在要求在某个结点上建立一个医院&#xff0c;使所有居民所走的路程之和为最小&#xff0c;同时约定&#xff0c;相邻接…

C#,数值计算——64位哈希表的计算方法与实现代码

1 文本格式 using System; namespace Legalsoft.Truffer { public class HashAll { public HashAll() { } /// <summary> /// Pseudo-DES hashing of the 64-bit word(lword, rword). Both 32-bit arguments /// are …

GDB之调试系统接口syscall(九)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

JavaScript 知识扫盲

JavaScript 知识扫盲 写在前面一、JavaScript 写入形式二、常用输入输出三、JS 是动态类型语言四、运算符五、数组1、数组创建2、获取和修改数组元素3、新增元素4、删除元素 六、函数七、对象1、对象的创建2、属性方法的使用 八、JavaScript 和 Java 对比九、事件1、常见事件2、…

mysql指令

1.删除表&#xff1a; drop table table_name; 2.查询表字段&#xff1a; select COLUMN_NAME from information_schema.COLUMNS where TABLE_NAMEtable_name; 参考链接 3.切换数据库&#xff1a; use database_name 4.查看当前数据库所有表 show tables;

神经网络-Unet网络

文章目录 前言1.seq2seq 编码后解码2. 网络结构3.特征融合4. 前言 Unet用来做小目标语义分割。 优点&#xff1a;网络结构非常简单。 大纲目录 2016年特别火&#xff0c;在细胞领域做分割特别好。 1.seq2seq 编码后解码 2. 网络结构 几个卷积层&#xff0c;越来越扁&#x…

Kubernetes(k8s)上搭建nacos集群

Kubernetes上搭建nacos集群 环境准备Kubernetes准备数据库准备 部署nacos集群官方镜像地址创建configmap创建部署文件根据yaml资源清单文件部署nacos 环境准备 Kubernetes准备 你需要准备一个Kubernetes集群&#xff0c;如图我的集群已经准备完毕&#xff1a; 数据库准备 …

【蓝桥杯选拔赛真题60】Scratch旋转风车 少儿编程scratch图形化编程 蓝桥杯选拔赛真题解析

目录 scratch旋转风车 一、题目要求 编程实现 二、案例分析 1、角色分析

【脑机接口论文与代码】 基于自适应FBCCA的脑机接口控制机械臂

Brain-Controlled Robotic Arm Based on Adaptive FBCCA 基于自适应FBCCA的脑机接口控制机械臂论文下载&#xff1a;算法程序下载&#xff1a;摘要1 项目介绍2 方法2.1CCA算法2.2FBCCA 算法2.3自适应FBCCA算法 3数据获取4结果4.1脑地形图4.2频谱图4.3准确率 5结论 基于自适应FB…

Spring底层的核心原理解析

这篇文章大致讲解一下spring的整个执行流程&#xff0c;也就是在我们脑子里面建立一个笼统的概念 spring如何创建一个容器呢 容器里面是对象 上面就是利用AnnotationConfigApplicationContext这个对象&#xff0c;然后传入了一个配置类的字节码对象给我们创建一个Spring容器&am…