Leetcode 334. 递增三重态子序列 (Increasing Triplet Subsequence)

news/2026/1/25 11:31:20/文章来源:https://www.cnblogs.com/cxy11-blog/p/19528987

问题理解

给定一个整数数组,判断是否存在三个下标 i < j < k,使得 nums[i] < nums[j] < nums[k]。不要求连续,只要求值严格递增且下标顺序满足。

思路

有两种主流解法:

  1. 基于 LIS(最长递增子序列)思想的优化方法
    • 使用一个动态维护的 dp_vec 数组,模拟 LIS 的构建过程。
    • 对每个元素,使用 lower_bound 找到第一个 ≥ 它的位置进行替换(保持递增结构但使尾部尽可能小)。
    • 一旦 dp_vec 长度达到 3,立即返回 true
    • 时间复杂度 O(n log n),空间 O(1)(因为最多存 3 个元素)。
  2. 更优的线性贪心法(O(n) 时间,O(1) 空间)
    • 维护两个变量 first 和 second,分别表示当前找到的最小值和次小值。
    • 遍历数组:
      • 若 num <= first,更新 first = num
      • 否则若 num <= second,更新 second = num
      • 否则(num > second),说明找到了 third,返回 true
    • 这种方法利用了“只要存在三元组,就一定能在遍历时触发 num > second”的性质。

注意:不要试图用固定大小数组模拟,直接用push_back扩容,否则会无法判断是否达到3个元素。如果用初始化,则会无法判断大小(如 dp_vec[0] 初始为 0,可能干扰比较负数情况),且没有正确维护递增关系。

trick

  • 提前终止:一旦 LIS 长度 ≥ 3 就返回,无需继续。
  • 贪心替代 LIS:本题只需判断是否存在长度为 3 的递增子序列,不需要完整 LIS,因此可用两个变量线性解决。
  • 初始化陷阱:错误代码中 vector<int> dp_vec(4) 默认初始化为 0,若输入全为负数(如 [-1, -2, -3]),比较会出错。正确做法应避免依赖默认值,或显式初始化为极大值(如 INT_MAX)。
  • 严格递增:注意题目要求 < 而非 <=,所以更新条件要用 <= 来覆盖相等情况(防止相等元素破坏严格递增)。所以用lower_bound来获取第一个大于等于当前元素的元素的iterator,用upper_bound是第一个大于当前元素的元素的iterator.

Code

// **基于 LIS 的解法**
class Solution {
public:bool increasingTriplet(vector<int>& nums) {vector<int> dp_vec;for(int i: nums){std::vector<int>::iterator it = lower_bound(dp_vec.begin(), dp_vec.end(), i); // 找到第一个 >= x 的位置(lower_bound)if(it == dp_vec.end()) dp_vec.push_back(i); // 可以延长 LISelse *it = i; // 替换,使末尾更小,利于后续扩展if (dp_vec.size() >= 3) {return true;             // 提前终止:已经找到长度为3的递增子序列}}return false;}
};

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

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

相关文章

抖音代运营公司服务选择,哪家比较好用

2026年本地实体企业数字化转型加速,抖音代运营已成为制造业、全屋定制等B端企业打破获客瓶颈、链接精准客户的核心抓手。无论是全平台短视频矩阵搭建、获客导向型内容策划,还是精准投流成本控制,优质本地抖音代运营…

Llama3-8B实战案例:基于vllm+Open-WebUI搭建对话系统

Llama3-8B实战案例&#xff1a;基于vllmOpen-WebUI搭建对话系统 1. 为什么选Meta-Llama-3-8B-Instruct&#xff1f; 你有没有遇到过这样的情况&#xff1a;想快速搭一个能真正对话的AI系统&#xff0c;但发现动辄70B的大模型&#xff0c;本地显卡根本带不动&#xff1b;而小模…

中国最大广告机器简史 学习Facebook,超越Meta|字节跳动 第3集

字节跳动:中国最大广告机器的演进与逻辑一、 商业化的底层逻辑:广告依然是互联网的“皇冠” 在众多变现路径中,广告依然被验证为互联网行业最高效、最优质的商业模式。字节跳动的崛起,本质上是将其作为一种工程学推…

用gpt-oss-20b-WEBUI搭建智能客服系统,成本直降90%

用 gpt-oss-20b-WEBUI 搭建智能客服系统&#xff0c;成本直降90% 在电商、SaaS 和本地服务类企业中&#xff0c;客服人力成本正持续攀升。一家中型在线教育机构每月仅人工客服薪资支出就超15万元&#xff0c;而响应延迟高、重复问题处理低效、夜间服务覆盖不足等问题&#xff…

Unsloth自动驾驶场景:指令微调数据处理实战

Unsloth自动驾驶场景&#xff1a;指令微调数据处理实战 1. Unsloth 简介 你是否曾想过&#xff0c;自己也能高效地微调一个大语言模型&#xff08;LLM&#xff09;&#xff0c;而不需要动辄几十GB的显存和漫长的训练时间&#xff1f;Unsloth 正是为此而生。它是一个开源的 LL…

系统维护窗口:screen命令创建与管理一文说清

以下是对您提供的博文《系统维护窗口:screen命令创建与管理一文说清》的 深度润色与专业重构版本 。本次优化严格遵循您的全部要求: ✅ 彻底去除AI痕迹,全文以一位有10年+一线Linux运维/嵌入式系统支持经验的技术博主口吻重写 ✅ 摒弃所有模板化标题(如“引言”“总结”…

深度测评专科生必备!10个AI论文平台对比与推荐

深度测评专科生必备&#xff01;10个AI论文平台对比与推荐 2026年专科生论文写作工具测评&#xff1a;为何需要这份榜单&#xff1f; 随着AI技术在教育领域的广泛应用&#xff0c;越来越多的专科生开始借助智能工具提升论文写作效率。然而&#xff0c;面对市场上琳琅满目的AI…

【Django毕设源码分享】基于Django的网络课程在线学习平台的设计与实现(程序+文档+代码讲解+一条龙定制)

发布文章 【Django毕设全套源码文档】基于Django的网络课程在线学习平台设计与实现(丰富项目远程调试讲解定制) 58/100 bishe638 未选择任何文件 博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质…

5个开源大模型镜像推荐:Qwen3-4B免配置一键部署实测

5个开源大模型镜像推荐&#xff1a;Qwen3-4B免配置一键部署实测 1. 为什么Qwen3-4B值得你立刻试试 你有没有遇到过这样的情况&#xff1a;想快速验证一个大模型能不能帮自己写周报、改文案、查资料&#xff0c;结果卡在环境配置上——装CUDA版本不对、依赖包冲突、显存报错反…

预训练音色无法选择?CosyVoice2模型模式使用误区解析

预训练音色无法选择&#xff1f;CosyVoice2模型模式使用误区解析 你是不是也遇到过这样的困惑&#xff1a;点开 CosyVoice2-0.5B 的 WebUI&#xff0c;看到“预训练音色”这个选项卡&#xff0c;满怀期待地点进去&#xff0c;却发现下拉菜单空空如也&#xff0c;或者只有寥寥一…

亲测阿里Live Avatar数字人效果,输入音频秒变生动虚拟形象

亲测阿里Live Avatar数字人效果&#xff0c;输入音频秒变生动虚拟形象 1. 这不是概念演示&#xff0c;是真实可用的数字人生成体验 上周我拿到Live Avatar镜像后&#xff0c;第一反应是&#xff1a;这玩意儿真能跑起来&#xff1f;毕竟文档里白纸黑字写着“需要单个80GB显存的…

多次修复技巧:fft npainting lama处理大面积缺失有妙招

多次修复技巧&#xff1a;FFT NPainting LAMA处理大面积缺失有妙招 在图像修复的实际工作中&#xff0c;我们常遇到一个棘手问题&#xff1a;当需要移除的物体面积大、形状不规则&#xff0c;或背景纹理复杂时&#xff0c;单次标注修复往往效果不佳——要么边缘生硬、颜色突兀&…

零基础入门PyTorch开发:一键启动通用镜像快速上手

零基础入门PyTorch开发&#xff1a;一键启动通用镜像快速上手 1. 为什么你需要这个PyTorch镜像 你是否经历过这样的场景&#xff1a;刚想跑一个深度学习实验&#xff0c;却卡在环境配置上一整天&#xff1f;安装CUDA版本不匹配、pip源太慢、依赖冲突、Jupyter无法启动……这些…

探讨服务不错的欧式起重机工厂,哪家更值得合作

在工业生产的物料搬运环节,欧式起重机凭借自重轻、能耗低、运行精准的优势,成为机械、冶金、电力等领域的核心设备。但企业采购时往往面临选型难、服务响应慢、定制化能力不足的痛点——尤其是中小型企业,既担心常规…

2026年面粉加工设备优质生产商Top10,双狮粮油机械名列前茅

在粮油加工行业智能化转型的浪潮中,一套先进的面粉加工设备是企业提升产能、保障成品品质的核心支撑,而选择正规供应商与优质生产商则直接决定了生产线的稳定性与投资回报率。面对市场上鱼龙混杂的设备厂商,如何精准…

FDA-MIMO雷达距离角度联合无模糊估计MATLAB仿真方案

一、方案概述 本方案基于频率分集阵列(FDA)与多输入多输出(MIMO)技术结合的雷达体制,通过距离-角度耦合导向矢量和匹配滤波处理,实现目标距离与角度的联合无模糊估计。方案核心包括:信号模型构建:推导FDA-MIMO…

2026年香氛评测:这家除味香氛厂家凭实力出圈,香薰香薰机/精油香薰机/固体香氛/蜡烛香氛,香氛OEM供应商推荐榜单

评测背景 随着消费升级与场景化需求激增,香氛行业正从单一产品竞争转向全链路服务能力的深度较量。除味香氛作为公共空间与私人场景的刚需品类,其技术迭代速度、产业链协同效率及定制化服务能力成为用户选择的核心指…

SQL 注入

0x01 SQL 注入简介 在 OWASP 发布的 top10 排行榜中 SQL 注入漏洞一直是危害排名极高的漏洞,数据库注入一直是 web 中一个令人头疼的问题。SQL 注入其实就是恶意用户通过在表单中填写包含 SQL 关键字的数据来使数据库…

如何提升用户体验?unet image WebUI界面优化实战建议

如何提升用户体验&#xff1f;UNet Image Face Fusion WebUI界面优化实战建议 1. 为什么界面体验比功能更重要&#xff1f; 你有没有遇到过这样的情况&#xff1a;一个工具功能很强大&#xff0c;但每次打开都得琢磨半天按钮在哪、参数怎么调、结果出不来还得反复试&#xff…

2026权威专利代办指南:一站式服务网站优选清单,专利复审申请/专利改写升级/智能专利查重,专利代办系统哪家靠谱

引言:行业变革与一站式服务的价值凸显 当前,随着国家创新驱动发展战略的深入实施,专利申请量与技术创新活动日益活跃。然而,传统的专利服务模式长期面临效率瓶颈、成本高昂与质量波动等挑战,难以满足广大创新主体…