首页/新闻资讯/正文详情

递增的三元子序列

发布时间:2026/9/24 18:13:14 来源:云帆数科 栏目:资讯中心
递增的三元子序列
题目描述给你一个整数数组n u m s numsnums判断这个数组中是否存在长度为 3 的递增子序列。如果存在这样的三元组下标( i , j , k ) (i, j, k)(i,j,k)且满足i j k i j kijk使得n u m s [ i ] n u m s [ j ] n u m s [ k ] nums[i] nums[j] nums[k]nums[i]nums[j]nums[k]返回t r u e truetrue。否则返回f a l s e falsefalse示例 1输入nums [1,2,3,4,5]输出true解释任何 i j k 的三元组都满足题意示例 2输入nums [5,4,3,2,1]输出false解释不存在满足题意的三元组示例 3输入nums [2,1,5,0,4,6]输出true解释其中一个满足题意的三元组是 (1, 4, 5)因为 nums[1] nums[4] nums[5]算法原理这道题属于贪心中的递增子序列问题一般可以通过300. 最长递增子序列的方法来解决和最长递增子序列不同的是这道题只需要找到长度为3 33的递增子序列就可以了意味着l a s t E l e m e n t lastElementlastElement数组的大小如果是3 33就可以直接返回t r u e truetrue并且遇见n u m s [ i ] nums[i]nums[i]时也可以不用二分优化因为查找n u m s [ i ] nums[i]nums[i]的插入位置最多遍历两个元素优化与不优化时间是差不多的除此之外实际上我们并不需要使用一个数组直接用变量a , b a, ba,b分别存储长度为1 11的递增子序列的最后一个元素长度为2 22的递增子序列的最后一个元素初始化它们为n u m s [ 0 ] ∞ nums[0]∞nums[0]∞之后遍历n u m s numsnums遇到n u m s [ i ] nums[i]nums[i]时n u m s [ i ] b nums[i] bnums[i]b说明能放在b bb之后长度为3 33的递增子序列存在返回t r u e truetruea n u m s [ i ] b a nums[i] banums[i]b说明放在b bb之后的数也能放在n u m s [ i ] nums[i]nums[i]之后且n u m s [ i ] nums[i]nums[i]之后还能放更多的数更新长度为2 22的递增子序列的最后一个数b n u m s [ i ] b nums[i]bnums[i]n u m s [ i ] a nums[i] anums[i]a说明放在a aa之后的数也能放在n u m s [ i ] nums[i]nums[i]之后且n u m s [ i ] nums[i]nums[i]之后还能放更多的数更新长度为1 11的递增子序列的最后一个数a n u m s [ i ] a nums[i]anums[i]代码classSolution{public:boolincreasingTriplet(vectorintnums){intanums[0],bINT_MAX;for(inti1;inums.size();i){if(nums[i]b){returntrue;}elseif(nums[i]a)// nums[i] ∈ (a, b]{bnums[i];}elseif(nums[i]a){anums[i];}}returnfalse;}};

相关推荐

JSP财务管理系统实战全指南:从源码解析到毕业设计避坑
JSP财务管理系统实战全指南:从源码解析到毕业设计避坑

简介:这套基于Jsp的财务管理系统设计与实现交付包,面向计算机相关专业学生及Java Web初学者,适用于课程设计、毕业设计或项目实训等场景,重点是解决财务模块从需求分析到实现交付的完整链路问题。压缩包内包含项目报告、中期报告、… · 2026/9/24 18:13:08

Jsp财务管理系统全解析:从架构设计到部署避坑指南
Jsp财务管理系统全解析:从架构设计到部署避坑指南

简介:基于JSP的财务管理系统全套项目资料,面向高校软件技术、财务信息化、管理信息系统等方向的课程设计或毕业设计人群。压缩包采用zip格式,大小约117.43MB,内容覆盖项目报告、中期报告、答辩PPT、完整源代码与数据库文件&#x… · 2026/9/24 18:13:08

C#在线二手交易平台开发详解:从架构设计到避坑指南
C#在线二手交易平台开发详解:从架构设计到避坑指南

简介:基于C#语言开发的在线二手商品交易平台,面向毕业设计、课程设计场景,适合需要完成完整Web项目实践的学生与开发者。项目覆盖软件工程需求分析、系统设计、编码实现、数据库管理及测试部署等关键环节,能够帮助读者将理论知识转… · 2026/9/24 18:13:08

Link入门全解:网页新标签打开、网络链路聚合与PLC通信协议
Link入门全解:网页新标签打开、网络链路聚合与PLC通信协议

做技术这行久了你会发现,很多基础概念翻来覆去就那么点东西,但每次重新回头去理解,又总能有新的收获。“Link”这个词就是典型,它算得上是我入行以来接触频率最高的词之一,但不同场景下它代表的东西完全不一样——前端… · 2026/9/24 18:45:38

Python气象时间序列预测实战:降雨量建模与工程化部署
Python气象时间序列预测实战:降雨量建模与工程化部署

简介:本资源是一个面向高校课程设计与Python后端开发初学者的降雨量预测实践项目,聚焦时间序列分析在气象预测中的落地应用,解决农业灌溉规划、气象预警等实际场景下的短期降雨趋势预判问题。压缩包为ZIP格式,大小42.49MB&#xf… · 2026/9/24 18:45:38

AI学术全流程实战:从文献综述到答辩PPT,提示词与部署排错指南
AI学术全流程实战:从文献综述到答辩PPT,提示词与部署排错指南

上周帮一个研三的学弟过开题材料,他跟我抱怨:AI工具他一直在用,翻译文献、润色语句、查语法,样样都试过,可真到了写综述、搭方案、做答辩PPT的时候,还是抓瞎。我问他怎么不用AI继续帮忙,他说“每… · 2026/9/24 18:45:38

无线网络仿真从入门到实战:信道建模与工具选型全解析
无线网络仿真从入门到实战:信道建模与工具选型全解析

1. 仿真思路拆解:为什么无线网络离不开仿真做无线网络这么多年,我越来越觉得网络仿真不是“锦上添花”的选修课,而是必修课。真实环境里你不可能为了验证一个组网方案,专门去买几十台AP、搭一整套AC、再拉几条专线做测试&#xff… · 2026/9/24 18:45:25

Spring Boot + Vue3 + MinIO 大文件分片上传实战:直传、断点续传与秒传
Spring Boot + Vue3 + MinIO 大文件分片上传实战:直传、断点续传与秒传

我接手过好几个类似需求的项目,从早期做后台管理系统开始就一直在跟文件上传打交道。以前用传统的MultipartFile整包上传,文件小的时候还行,一旦涉及到几百MB甚至几个GB的视频、压缩包、数据库备份文件,问题就全冒出来了&#xff… · 2026/9/24 18:45:25

Linux命令行删除全攻略:从输入纠错到卸载软件一次讲透
Linux命令行删除全攻略:从输入纠错到卸载软件一次讲透

说句实话,第一次在群里看到“在Linux中如何删除命令行?”这个问题的时候,我以为对方在开玩笑。毕竟命令行是Linux里最核心的交互入口,哪有人会想把它“删掉”?可后来聊了几句才明白,新手们说的“删除命令行… · 2026/9/24 18:45:25

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码