leetcode-456. 132 Pattern
来源:互联网 发布:教师优化作风的意义 编辑:程序博客网 时间:2024/05/16 19:23
一、问题描述
Given a sequence of n integers a1, a2, ..., an, a 132 pattern is a subsequence ai, aj, ak such that i < j < k and ai < ak < aj. Design an algorithm that takes a list of n numbers as input and checks whether there is a 132 pattern in the list.
Note: n will be less than 15,000.
Example 1:
Input: [1, 2, 3, 4]Output: FalseExplanation: There is no 132 pattern in the sequence.
Example 2:
Input: [3, 1, 4, 2]Output: TrueExplanation: There is a 132 pattern in the sequence: [1, 4, 2].
Example 3:
Input: [-1, 3, 2, 0]Output: TrueExplanation: There are three 132 patterns in the sequence: [-1, 3, 2], [-1, 3, 0] and [-1, 2, 0].
二、思路分析
用一个栈,遍历数组从尾到头,维持栈顶为当前最大值,并且用一个数s保持压入最大值之前栈顶的元素,如果当前值nums[i]小于s且栈不为空,则有132.
三、代码
class Solution {public: bool find132pattern(vector<int>& nums) { int s2 = -2147483648; stack<int> temp; for(int i = nums.size() - 1; i >= 0; i--) { if (nums[i] < s2) return true; while (!temp.empty() && nums[i] > temp.top()) { s2 = temp.top(); temp.pop(); } temp.push(nums[i]); } return false; }};
阅读全文
0 0
- LeetCode 456. 132 Pattern
- Leetcode-456. 132 Pattern
- LeetCode 456. 132 Pattern
- Leetcode-456. 132 Pattern
- LeetCode 456. 132 Pattern
- Leetcode 456. 132 Pattern
- [LeetCode]456. 132 Pattern
- leetcode 456. 132 Pattern
- LeetCode 456. 132 Pattern
- [leetcode]456. 132 Pattern
- [LeetCode] 456. 132 Pattern
- leetcode 456. 132 Pattern
- leetcode-456. 132 Pattern
- leetcode 456. 132 Pattern题解
- [Leetcode] 456. 132 Pattern 解题报告
- Leetcode | 132pattern
- leetcode 132 Pattern
- Leetcode 132 Pattern
- 消息传递(树形动规)
- 前端规范和浏览器兼容性
- 在js在页面中添加百度统计代码
- python的包
- React-native防多次重复点击
- leetcode-456. 132 Pattern
- 解决新建maven项目速度慢的问题
- 在感觉项目代码的构架不行的时候,你们会怎么办?
- uwsgi搭载nginx部署django
- ArrayList、LinkedList、Vector的区别
- javascript中with的用法
- OPENGL
- jquery笔记
- js获取当前城市,并根据当前城市获得当地天气