程式語言 - LeetCode - C++ - 456. 132 Pattern



題目:


解答:

class Solution {
public:
    bool find132pattern(vector<int>& nums) {
        stack<int> st;
        int last = INT_MIN;
        int n = nums.size();

        for (int i = n - 1; i >= 0; --i) {
            if (nums[i] < last) {
                return true;
            }

            while (!st.empty() && st.top() < nums[i]) {
                last = st.top();
                st.pop();
            }

            st.push(nums[i]);
        }

        return false;
    }
};