這題倒過來找的原因是他要先找出3的位置,所以要找比2大的。
找到3後,用stack比較1和2。
ref:https://leetcode.com/problems/132-pattern/solutions/4107636/easy-solution-stack/?envType=daily-question&envId=2023-09-30
class Solution {
public:
bool find132pattern(vector<int>& nums) {
stack<int> s;
int third = INT_MIN;
for(int i = nums.size() - 1; i >= 0; i--){
if(nums[i] < third){
return true;
}
while(!s.empty() && s.top() < nums[i]){
third = s.top();
s.pop();
}
s.push(nums[i]);
}
return false;
}
};