




Sponsored
Sponsored
This approach checks all possible triples (i, j, k) to determine if they form a 132 pattern. While straightforward, its complexity can be high for larger arrays due to the triple nested loop structure.
Time complexity: O(n^3) because of the three nested loops.
Space complexity: O(1) since no additional data structures are used.
1#include <vector>
2bool find132pattern(std::vector<int>& nums) {
3    for (int i = 0; i < nums.size() - 2; ++i) {
4        for (int j = i + 1; j < nums.size() - 1; ++j) {
5            for (int k = j + 1; k < nums.size(); ++k) {
6                if (nums[i] < nums[k] && nums[k] < nums[j]) {
7                    return true;
8                }
9            }
10        }
11    }
12    return false;
13}
14Similar to the C solution, this C++ code uses triple nested loops to find a 132 pattern by checking each possible triplet.
This approach uses a clever stack-based strategy by scanning the array from right to left. It keeps track of potential '2' and '3' candidates using a stack and a variable, optimizing the search for the '132' pattern.
Time complexity: O(n) because each element is pushed and popped once.
Space complexity: O(n) for the stack.
1defIterating over the reversed list, the stack is used to check the '132' pattern. The 'num3' variable tracks the most recent valid '2'.