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

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

目录

300 最长递增子序列

674 最长连续递增子序列

718 最长重复子数组


300 最长递增子序列

class Solution {
public:int lengthOfLIS(vector<int>& nums) {vector<int>dp(nums.size(),1);//以i结尾的最长递增子序列的长度for(int i = 0;i < nums.size();i++){for(int j = 0;j < i;j++){if(nums[i] > nums[j])dp[i] = max(dp[i],1 + dp[j]);}}int res = -1e4-10;for(int i = 0;i < nums.size();i++)res=max(res,dp[i]);return res;}
};

时间复杂度O(n^2)

空间复杂度O(n)

674 最长连续递增子序列

class Solution {
public:int findLengthOfLCIS(vector<int>& nums) {if(nums.size() == 1)return 1;int res = 0;int temp = 1;for(int i = 0;i < nums.size() - 1;i++){if(nums[i] < nums[i + 1]){temp++;}else{temp = 1; }res = max(res,temp);}return res;}
};

时间复杂度O(n)

空间复杂度O(1)

718 最长重复子数组

class Solution {
public:int findLength(vector<int>& nums1, vector<int>& nums2) {vector<vector<int>>dp(nums1.size() + 2,vector<int>(nums2.size() + 1,0));//nums1前i个与nums2前j个最长公共子数组的长度   int res = -1;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;}res = max(res,dp[i][j]);}}return res;}
};

时间复杂度O(n×m)

空间复杂度O(n×m)

相关文章:

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

目录 300 最长递增子序列 674 最长连续递增子序列 718 最长重复子数组 300 最长递增子序列 class Solution { public:int lengthOfLIS(vector<int>& nums) {vector<int>dp(nums.size(),1);//以i结尾的最长递增子序列的长度for(int i 0;i < nums.size()…...

leetcode 101.对称二叉树

学习这部分还是要多画图&#xff0c;多思考 101.对称二叉树 题目 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 题目链接 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 文字 和 画图 分析 明确结束条件和继续递归条件 判断是否对称…...

【本人新书】《OpenCV应用开发:入门、进阶与工程化实践》

写作初心 OpenCV作为开源的计算机视觉框架已经有超过20年的发展历程&#xff0c;OpenCV4是OpenCV目前为止最重要的里程碑版本。OpenCV4不仅包含了传统图像处理、图像分析、特征提取等模块的各种主流算法算子&#xff0c;还包含了深度学习模型部署与加速支持模块&#xff0c;兼…...

【Linux系统编程】进度条的编写

目录 一&#xff0c;进度条的必备知识 1&#xff0c;缓冲区的粗略介绍 2&#xff0c;回车与换行 二&#xff0c;进度条的初步制作 1&#xff0c;进度条的初步矿建 2&#xff0c;进度条的版本一 3&#xff0c;进度条的版本二 一&#xff0c;进度条的必备知识 1&#xff…...

互斥锁的原理

互斥锁&#xff08;Mutex&#xff0c;全称Mutual Exclusion&#xff09;是一种同步机制&#xff0c;用于确保在任意时刻&#xff0c;只有一个线程可以访问共享资源&#xff0c;从而防止数据竞争和不一致性。互斥锁的基本思想是在进入临界区之前&#xff0c;先获取锁&#xff1b…...

Win10的SVN Adapter V1.0 中黄色感叹号 -- 解决

大部分都问题都可以通过&#xff1a; 关闭 SVN Adapter V1.0 在下载最新的 SVNDrv.sys替换 C:\Windows\System32\drivers 中的同名文件启动 SVN Adapter V1.0 就能成功 但是部分人的电脑 SVN Adapter V1.0 是有感叹号的&#xff0c;说明注册表有问题 先用 CCleaner 修复注册表…...

ubuntu20 安装docker

一.官网安装文档 &#xff08;基本按官方文档安装&#xff09; Install Docker Engine on Ubuntu | Docker Docs 二.安装步骤 1.docker 需要64位操作系统、linux内核要在3.1以上 #uname -r 2.卸载可能存在的旧版本 #sudo apt-get remove docker docker-engine docker-ce …...

HarmonyOS开发工具DevEco Studio的下载和安装

一、DevEco Studio概述 一、下载安装鸿蒙应用开发工具DevEco Studio 开发鸿蒙应用可以从鸿蒙系统上运行第一个程序Hello World开始。 为了得到这个Hello World&#xff0c;你需要得到这个Hello World的源代码&#xff0c;源代码是用人比较容易看得懂的计算机编程语言规范写的…...

SHELL21 格式化输出

awk BEGIN{FS""}{for(i1;i<NF;i){if((NF-i)%30&&i!NF) printf $i",";else printf $i};printf "\n"} nowcoder.txt这个 AWK 命令的目的是对文本文件 nowcoder.txt 中的每一行进行处理&#xff0c;将每三个字符插入一个逗号&#xff0c…...

披荆斩棘的「矿区无人驾驶」,能否真正打开千亿级市场?

随着2022年备受瞩目的台泥句容矿无人驾驶运输项目硬核落地&#xff0c;以及相关科技公司开放该矿24小时无人矿卡生产运营直播以证明其项目并非在演示&#xff0c;2023年全国开启了大规模矿区无人驾驶商业化落地&#xff0c;堪称矿区无人驾驶元年。虽然我国矿区无人驾驶市场渗透…...

智能优化算法应用:基于灰狼算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于灰狼算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于灰狼算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.灰狼算法4.实验参数设定5.算法结果6.参考文献7.MA…...

论文阅读三——端到端的帧到凝视估计

论文阅读三——端到端的帧到凝视估计 主要内容研究问题文章的解题思路文章的主要结构 论文实验关于端到端凝视估计的数据集3种基线模型与EFE模型的对比在三个数据集中与SOTA进行比较 问题分析重要架构U-Net 基础知识 主要内容 文章从端到端的方法出发&#xff0c;提出了根据he…...

mysql 快捷登陆

要将 MySQL 的登录命令添加到环境变量中并为其创建别名&#xff0c;可以按照以下步骤进行操作&#xff1a; 1. 打开终端并编辑 /etc/profile 文件&#xff08;使用所有用户的全局设置&#xff09; vim /etc/profile 2. 在文件的末尾添加以下行来设置环境变量和别名 # 将 &q…...

理解排序算法:冒泡排序、选择排序与归并排序

简介&#xff1a; 在计算机科学中&#xff0c;排序算法是基础且重要的概念。本文将介绍三种常见的排序方法&#xff1a;冒泡排序、选择排序和归并排序。我们将探讨它们的工作原理、特点和适用场景&#xff0c;以帮助读者更好地理解和选择合适的排序方法。 冒泡排序 冒泡排序是…...

算法-02-排序-冒泡插入选择排序

一般最经典的、最常用的&#xff1a;冒泡排序、插入排序、选择排序、归并排序、快速排序、计数排序、基数排序、桶排序。那么我们如何分析一个"排序算法"呢&#xff1f; 1-分析排序算法要点 时间复杂度&#xff1a;具体是指最好情况、最坏情况、平均情况下的时间复杂…...

流量异常-挂马造成百度收录异常关键词之解决方案(虚拟主机)

一.异常现象&#xff1a;流量突然暴涨&#xff0c;达到平时流量几倍乃至几十倍&#xff0c;大多数情况下因流量超标网站被停止。 二.排查原因&#xff1a; 1.首先分析web日志&#xff1a;访问量明显的成倍、几十倍的增加&#xff1b;访问页面不同&#xff1b;访问IP分散并不固…...

磁力计LIS2MDL开发(1)----轮询获取磁力计数据

磁力计LIS2MDL开发.1--轮询获取磁力计数据 概述视频教学样品申请源码下载通信模式速率生成STM32CUBEMX串口配置IIC配置CS设置串口重定向参考程序初始换管脚获取ID复位操作BDU设置设置速率启用偏移消除开启温度补偿设置为连续模式轮询读取数据主程序演示 概述 本文将介绍如何使…...

C++学习笔记—— C++内存管理方式:new和delete操作符进行动态内存管理

系列文章目录 http://t.csdnimg.cn/d0MZH 目录 系列文章目录http://t.csdnimg.cn/d0MZH 比喻和理解a.比喻C语言开空间C开空间 b.理解a、C语言的内存管理的缺点1、开发效率低&#xff08;信息传递繁琐&#xff09;2、可读性低&#xff08;信息展示混乱&#xff09;3、稳定性差&…...

8、操作符重载

友元 可以通过friend关键字&#xff0c;把一个全局函数、另一个类的成员函数或者另一个类整体&#xff0c;声明为授权类的友元友元拥有访问授权类任何非公有成员的特权友元声明可以出现在授权类的公有、私有或者保护等任何区域且不受访问控制限定符的约束友元不是成员&#xf…...

前端组件库开发

通常我们会使用很多组件库&#xff0c;有时候我们会去看源码比如element&#xff0c;antd&#xff0c;然后发现多少是按需导出&#xff0c;和vue.use全局注册&#xff0c;依赖于框架的拓展。 组件库的开发依赖框架的版本和node的版本&#xff0c;这个是需要说明的&#xff0c;然…...

SEO老鸟私藏技巧:用Google搜索命令“免费”做竞品分析和内容审计

SEO高手实战&#xff1a;用Google搜索命令低成本破解竞品策略 在预算有限的情况下&#xff0c;如何像专业SEO团队一样获取竞品的关键数据&#xff1f;当价值上万元的SEO工具遥不可及时&#xff0c;Google搜索命令的组合拳能帮你打开一扇免费的分析窗口。这不是简单的运算符罗列…...

用STM32F103 DIY一个JTAG边界扫描测试仪(附完整源码与避坑记录)

用STM32F103 DIY一个JTAG边界扫描测试仪&#xff08;附完整源码与避坑记录&#xff09; 在嵌入式开发和硬件调试领域&#xff0c;验证PCB板或芯片的连通性一直是个令人头疼的问题。传统方法要么需要昂贵的专业设备&#xff0c;要么就得面对密密麻麻的测试点束手无策。而JTAG边界…...

告别WPF默认丑界面:用MahApps.Metro快速打造现代化桌面应用(Visual Studio 2022实战)

用MahApps.Metro重塑WPF应用&#xff1a;从传统到现代的视觉革命 当用户第一次打开一个默认样式的WPF应用时&#xff0c;那种扑面而来的Windows XP时代感往往让人失望。作为开发者&#xff0c;我们花费大量时间在功能实现上&#xff0c;却常常因为UI的陈旧感而让整个应用显得廉…...

接触动力学与CTR-MPC在机器人操作中的应用

1. 接触动力学基础与挑战 接触动力学是机器人操作中的核心问题&#xff0c;它描述了物体间相互作用时的力学行为。想象一下我们用手推动桌面的杯子——指尖与杯壁的接触力既要防止穿透&#xff08;非穿透性约束&#xff09;&#xff0c;又要克服滑动摩擦&#xff08;摩擦锥约束…...

CANN/asc-devkit SIMD矢量加法

Adds 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode.com/cann/…...

解决Keil MDK中STM32 I2C驱动编译错误

1. 问题现象与背景分析最近在使用Keil MDK开发STM32项目时&#xff0c;遇到一个典型的编译错误。具体表现为&#xff1a;当使用STM32CubeMX生成项目并导入Keil MDK后&#xff0c;编译过程中CMSIS I2C驱动报出以下错误&#xff1a;error: use of undeclared identifier MX_I2C1_…...

相位恢复技术:XY-Hamiltonian优化框架与应用

1. 相位恢复问题的本质与挑战相位恢复是衍射成像领域长期存在的核心难题。当光波通过物体时&#xff0c;其振幅和相位信息都会发生变化。然而&#xff0c;传统的光学探测器&#xff08;如CCD&#xff09;只能记录光强&#xff08;振幅平方&#xff09;&#xff0c;而丢失了关键…...

C#上位机开发工业机器人:从零搭建第一个机器人控制程序

作为一名在工控行业摸爬滚打了十年的老工程师,我见过太多自动化工程师卡在"机器人上位机开发"这一关。很多人C#基础不错,也懂机器人原理,但就是不知道怎么把两者结合起来,写出一个能在生产环境运行的控制程序。 今天这篇文章,我会带着你从零开始,搭建一个完整…...

手把手教你给M301H-BYT盒子刷当贝纯净桌面(附Hi3798芯片短接点位图)

从零开始&#xff1a;M301H-BYT盒子刷机实战指南 家里的老旧电视盒子用久了总是卡顿、存储不足&#xff0c;还限制应用安装&#xff1f;今天我们就来彻底解决这个问题。本文将手把手教你如何为M301H-BYT盒子刷入当贝纯净桌面系统&#xff0c;让你的老设备重获新生。不同于简单的…...

LAMMPS GPU加速踩坑实录:CUDA driver error 4报错,原来问题出在CPU核数上

LAMMPS GPU加速实战&#xff1a;从CUDA driver error 4报错到性能调优全解析 当你在深夜的实验室里盯着终端不断刷新的红色报错信息&#xff0c;那种挫败感我深有体会。作为一名长期使用LAMMPS进行分子动力学模拟的研究者&#xff0c;我清楚地记得第一次遇到"CUDA driver …...