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

代码随想录算法训练营第五十二天

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

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

300.最长递增子序列

题目链接:最长递增子序列
这里是不用处理if nums[i] <= nums[j]:的情况的,直接默认了碰到这种情况就直接放弃,有点奇怪,但也说得通。
这样的话其实dp[i]并不是nums[:(i+1)]最长严格递增子序列的长度,而是
以nums[i]为结尾的递增子序列的长度

class Solution:def lengthOfLIS(self, nums: List[int]) -> int:# dp[i] = nums[:(i+1)]最长严格递增子序列的长度dp = [1] * len(nums)for i in range(1,len(nums)):for j in range(i):if nums[i] > nums[j]:dp[i] = max(dp[i],dp[j]+1)#print(dp)return max(dp)

674. 最长连续递增序列

题目链接:最长连续递增序列
和上一题一样这里的dp[i]其实是以nums[i]为结尾的连续递增子序列的长度并不是nums[:(i+1)]里的最长连续递增子序列的长度

class Solution:def findLengthOfLCIS(self, nums: List[int]) -> int:# dp[i] = nums[:(i+1)]中最长且连续递增的子序列dp = [1]*len(nums)for i in range(1,len(nums)):if nums[i] > nums[i-1]:dp[i] = dp[i-1]+1return max(dp)

718. 最长重复子数组

题目链接:最长重复子数组

i/j32147
11
21
311
22
13

这个题的顺序是斜着走的,只要能保证左上方是遍历过的就可以了。

class Solution:def findLength(self, nums1: List[int], nums2: List[int]) -> int:#dp[i][j] = nums1[:i]和nums2[:j]的两个数组中公共的长度最长的子数组的长度dp = [[0]*len(nums2) for _ in range(len(nums1))]m = 0for i in range(len(nums1)):if nums1[i] == nums2[0]:dp[i][0] = 1m = 1for j in range(len(nums2)):if nums2[j] == nums1[0]:dp[0][j] = 1m = 1for i in range(1,len(nums1)):for j in range(1,len(nums2)):if nums1[i] == nums2[j]:dp[i][j] = dp[i-1][j-1]+1m = max(dp[i][j],m)#print(dp)#print(m)return m   

相关文章:

代码随想录算法训练营第五十二天

代码随想录算法训练营第五十二天| 300.最长递增子序列&#xff0c;674. 最长连续递增序列&#xff0c;718. 最长重复子数组 300.最长递增子序列674. 最长连续递增序列718. 最长重复子数组 300.最长递增子序列 题目链接&#xff1a;最长递增子序列 这里是不用处理if nums[i] &l…...

【Linux网络】传输层中UDP和TCP协议

文章目录 1、再谈端口号2、UDP协议3、TCP协议3.1 TCP协议段格式3.2 TCP的三次握手和四次挥手&#xff08;连接管理机制&#xff09;3.3 TCP的滑动窗口3.4 TCP的流量控制3.5 拥塞控制3.6 延迟应答和捎带应答3.7 面向字节流和粘包问题3.8 TCP总结 1、再谈端口号 端口号port标识一…...

工具︱ Web3加密浏览器Brave有什么特别之处?

使用浏览器来上网访问和获取各种信息和资源已经成为传统互联网民的普遍活动&#xff0c;下一代互联网协议Web3的核心特点是去中心化&#xff0c;即不依赖于中心化的服务器和数据中心&#xff0c;而是通过分布式的网络节点来实现数据存储和传输。 浏览器承载着信息网络与用户需求…...

绝对不能错过这份沃尔玛实用插件工具大全

龙哥最近发现很多跨境卖家都比较少运营沃尔玛这个平台。沃尔玛除了是世界500强之外&#xff0c;它的线上商城也弄得很好。它的电商平台主要是售卖自营的&#xff0c;然后你也可以入驻来卖自己的产品&#xff0c;就像是我们国内的京东一样。今天龙哥就给大家分享一些沃尔玛专用插…...

【Java】字符串模板拼接的方法

引 在Java中&#xff0c;构建字符串是非常常见的操作。在很多时候&#xff0c;我们都需要使用变量或输入来定制一个文本输出&#xff0c;例如打印日志、生成HTML代码或构建错误消息。而当需要进行字符串连接时&#xff0c;字符串模板是一种常用的方法。在本篇博客中&#xff0…...

Vue3项目中使用ECharts图表并实现自适应效果

文章目录 一、Vue3项目安装ECharts二、引入、使用ECharts1.创建图表组件&#xff0c;并在父组件中引入使用2.引入ECharts3.ECharts图表自适应 总结 一、Vue3项目安装ECharts 在项目中输入如下代码&#xff1a; npm install echarts --save安装完成可以在package.json中看到&a…...

快速跑通环信IM Android Demo

1、以Android 4.0.0 Demo为例 https://www.easemob.com/download/demo &#xff08;下载别的版本的demo 可以修改版本号直接下载就就可以&#xff09; https://downloadsdk.easemob.com/downloads/easemob-sdk-4.0.0.zip 运行时遇到以下报错在项目build.gradle中添加运行时遇…...

leetcode解题思路分析(一百三十九)1190 - 1196 题

反转每对括号间的子串 给出一个字符串 s&#xff08;仅含有小写英文字母和括号&#xff09;。请你按照从括号内到外的顺序&#xff0c;逐层反转每对匹配括号中的字符串&#xff0c;并返回最终的结果。注意&#xff0c;您的结果中 不应 包含任何括号。 可以简单的用栈保存当前层…...

PHP+vue基于web的小区物业管理管理系统1995a

小区物业管理系统主要是对小区物业以及居民信息进行管理&#xff0c;方便用户使用该资源的一种有效手段。能有效地对物业以及用户信息进行管理并为广大用户服务是该管理系统的基本要求&#xff0c;同时用户也可以及时了解最新的物业信息&#xff0c;方便地查询相关物业情况。基…...

区间预测 | MATLAB实现QRCNN卷积神经网络分位数回归时间序列区间预测

区间预测 | MATLAB实现QRCNN卷积神经网络分位数回归时间序列区间预测 目录 区间预测 | MATLAB实现QRCNN卷积神经网络分位数回归时间序列区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 区间预测 | MATLAB实现QRCNN卷积神经网络分位数回归时间序列区间预测…...

【AI 导航网站】为了更好的收集 AI 资源,我开发了一个 AI 导航网站

AI 导航网站 目前 AI 应用正呈迸发式增长&#xff0c;然而一个人获取资源的途径有限&#xff0c;对于目前存在的AI工具不能很好的收集总结&#xff0c;所以基于此&#xff0c;我开发了这个一个AI导航网站&#xff0c;希望通过它&#xff0c;收集出目前存在的热门的AI应用&…...

谈谈HMI 的自动化生成技术

人机界面&#xff08;HMI&#xff09;是自动化领域不可或缺重要组成部分。尽管人机界面系统的设计看上去并没有太大的技术门槛&#xff0c;但是设计一个HMI系统的工作量是巨大的。如果你没有足够的耐心便完成不了一个通用的HMI系统。构建UI控件库是一个似乎永远完不成的事情&am…...

docker安装elasticsearch

使用docker部署 部署elasticsearch # 拉取镜像 docker pull elasticsearch# 创建容器 docker run --name es -p 9200:9200 \-p 9300:9300 \-e "discovery.typesingle-node" \-e ES_JAVA_OPTS"-Xms64m -Xmx128m" \-v /home/es/conf/elasticsearch.yml:/…...

Docker:使用dockerFile创建镜像(war包和jar包)

1、使用war包打镜像 &#xff08;1&#xff09;在war的当前路径下&#xff0c;新建一个文件——Dockerfile &#xff08;2&#xff09;编辑Dockerfile文件 vim Dockerfile Dockerfile文件内容&#xff1a; FROM java:8 # 选择项目中要求的版本 MAINTAINER ylb …...

2.基础篇

目录 一、描述软件测试的生命周期&#xff08;软件测试的流程&#xff09; 二、如何描述一个bug 三、bug的级别&#xff08;粗略划分&#xff09; 四、bug的生命周期 五、因为一个bug和开发人员产生争执怎么办 六、如何设置弱网&#xff1f; 一、描述软件测试的生命周期&a…...

取代你的可能不是AI,而是比你更会使用AI的人

1、背景 从开始了解AI到现在已经1个月了&#xff0c;最明显的就是&#xff0c;产品层出不穷&#xff0c;以前只有技术人员才关系AI&#xff0c;现在各行各业都在关系AI&#xff0c;都希望通过它提高生产力和创造力&#xff1b; 在当今大数据和人工智能时代&#xff0c;职场和企…...

NECCS|全国大学生英语竞赛C类|词汇和语法|语法题|时态 非谓语动词 |19:00~20:15|完形填空·词性转化

14:35&#xff5e;14:45 15:45&#xff5e;16:2019:00&#xff5e;20:15 http://t.csdn.cn/XbsUy 目录 &#xff08;一&#xff09;时态 7. 将来进行时 8. 过去将来进行时 9. 现在完成时 10. 过去完成时​编辑 11. 将来完成时 12. 现在完成时 13. 过去完成进行时 &#xff08;…...

【高等数学笔记】Stolz定理

文章目录 Stolz定理 ∗ ∞ \cfrac{*}{\infty} ∞∗​型 0 0 \cfrac{0}{0} 00​型 例子1. 算术平均数的极限2. Stolz定理可以被理解为“数列的洛必达法则”&#xff0c;它揭示了两个数列之比的极限和相邻两项之差的比的极限的关系。 Stolz定理 ∗ ∞ \cfrac{*}{\infty} ∞∗​型…...

【24】核心易中期刊推荐——图像处理研究大数据及智能处理研究

🚀🚀🚀NEW!!!核心易中期刊推荐栏目来啦 ~ 📚🍀 核心期刊在国内的应用范围非常广,核心期刊发表论文是国内很多作者晋升的硬性要求,并且在国内属于顶尖论文发表,具有很高的学术价值。在中文核心目录体系中,权威代表有CSSCI、CSCD和北大核心。其中,中文期刊的数…...

Codeforces Round 870 (Div. 2)【A、B、C、D】

文章目录 A. Trust Nobody(暴力)B. Lunatic Never Content(数学)C. Dreaming of Freedom(数学、暴力)D. Running Miles(前缀、后缀) 传送门 A. Trust Nobody(暴力) 题意&#xff1a;给出n个人的陈述&#xff0c;每个人陈述至少有ai个人说谎&#xff0c;让你求出可能是说谎人数…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...