132 Pattern

IF
AlgoAxiomStaff Engineers
JSTS
Medium20 mins

Given an array of n integers nums, return true if there exists a 132 pattern in the array.

A 132 pattern is a subsequence of three integers nums[i], nums[j], nums[k] such that i < j < k and nums[i] < nums[k] < nums[j].

Examples

Example 1:

Input: nums = [1, 2, 3, 4]

Output: false

Explanation: There is no 132 pattern in the sequence.

Example 2:

Input: nums = [3, 1, 4, 2]

Output: true

Explanation: There is a 132 pattern: [1, 4, 2] where nums[1]=1 < nums[3]=2 < nums[2]=4.

Example 3:

Input: nums = [-1, 3, 2, 0]

Output: true

Explanation: There are three 132 patterns: [-1, 3, 2], [-1, 3, 0], and [-1, 2, 0].

Constraints

  • n == nums.length
  • 1 <= n <= 2 * 10^5
  • -10^9 <= nums[i] <= 10^9
Source: Monotonic Stack pattern — AlgoAxiom
JavaScript
Test Case 1
root = [1, 2, 3]
Test Case 2
root = [1, 2, 3, 4, 5]
Idle