Back to all solutions
#456 - 132 Pattern
Problem Description
Given an array of n integers nums, a 132 pattern is a subsequence of three integers nums[i], nums[j] and nums[k] such that i < j < k and nums[i] < nums[k] < nums[j].
Return true if there is a 132 pattern in nums, otherwise, return false.
Solution
/**
* @param {number[]} nums
* @return {boolean}
*/
var find132pattern = function(nums) {
const stack = [];
for (let i = nums.length - 1, j = -Infinity; i >= 0; i--) {
while (nums[i] > stack[stack.length - 1]) {
j = stack.pop();
}
if (nums[i] < j) {
return true;
}
stack.push(nums[i]);
}
return false;
};