LeetCode 456. 132模式(逆序遍历+单调栈)
发布日期:2021-07-01 03:23:47
浏览次数:2
分类:技术文章
本文共 969 字,大约阅读时间需要 3 分钟。
1. 题目
给定一个整数序列:a1, a2, …, an,一个132模式的子序列 ai, aj, ak 被定义为:当 i < j < k 时,ai < ak < aj
。
注意:n 的值小于15000。示例1:输入: [1, 2, 3, 4]输出: False解释: 序列中不存在132模式的子序列。示例 2:输入: [3, 1, 4, 2]输出: True解释: 序列中有 1 个132模式的子序列: [1, 4, 2].示例 3:输入: [-1, 3, 2, 0]输出: True解释: 序列中有 3 个132模式的的子序列: [-1, 3, 2], [-1, 3, 0] 和 [-1, 2, 0].
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/132-pattern
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
当5要入栈时,不满足递减了 更新第二大数Ak为栈顶,弹栈,继续检查,最后栈内空,Ak=4,push 5 下一个数 3 < Ak(第二大),存在class Solution { public: bool find132pattern(vector & nums) { if(nums.size() < 3) return false; stack s;//单调递减栈 int Ak = INT_MIN;//第二大的数 for(int i = nums.size()-1; i >= 0; --i) { if(Ak > nums[i]) return true; while(!s.empty() && nums[i] > s.top()) { Ak = s.top(); s.pop(); } s.push(nums[i]); } return false; }};
36 ms 17.5 MB
转载地址:https://michael.blog.csdn.net/article/details/105688840 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月18日 18时00分51秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
x265-1.7版本-encoder/frameencoder.h注释
2019-05-02
x265-1.7版本-encoder/motion.cpp注释
2019-05-02
高阶函数
2019-05-02
继承和多态
2019-05-02
获取对象信息
2019-05-02
实例属性和类属性
2019-05-02
使用__slots__
2019-05-02
使用@property
2019-05-02
多重继承
2019-05-02
定制类
2019-05-02
使用枚举类
2019-05-02
使用元类
2019-05-02
错误、调试和测试
2019-05-02
StringIO和BytesIO
2019-05-02
SMTP发送邮件
2019-05-02
POP3收取邮件
2019-05-02
访问数据库
2019-05-02
使用SQLite
2019-05-02
使用MySQL
2019-05-02
使用SQLAlchemy
2019-05-02