diff options
Diffstat (limited to '132_pattern.cpp')
-rw-r--r-- | 132_pattern.cpp | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/132_pattern.cpp b/132_pattern.cpp deleted file mode 100644 index a9f0c43..0000000 --- a/132_pattern.cpp +++ /dev/null @@ -1,32 +0,0 @@ -#include "leetcode.h" - -class Solution { -public: - bool find132pattern(vector<int> &nums) { - int n = nums.size(), minI[n]; - stack<int> s; - minI[0] = nums[0]; - for (int i = 1; i < nums.size(); i++) - minI[i] = min(minI[i - 1], nums[i]); - for (int i = nums.size() - 1; i >= 0; i--) { - while (!s.empty() && s.top() <= minI[i]) - s.pop(); - if (!s.empty() && s.top() < nums[i]) - return true; - s.push(nums[i]); - } - return false; - } -}; - -int main() { - vector<int> nums = {1, 3, 2, 4}; - Solution obj; - for (int i = 0; i < nums.size(); i++) - cout << nums[i] << ' '; - cout << endl << "searching for '132'...\n"; - if (obj.find132pattern(nums)) - cout << "found"; - else - cout << "not found"; -} |