human
Solve in Python:
Given a sequence of n integers a1, a2, ..., an, a 132 pattern is a subsequence ai, aj, ak such
that i < j < k and ai < ak < aj. Design an algorithm that takes a list of n numbers as input and checks whether there is a 132 pattern in the list.

Note: n will be less than 15,000.

Example 1:

Input: [1, 2, 3, 4]

Output: False

Explanation: There is no 132 pattern in the sequence.


Example 2:

Input: [3, 1, 4, 2]

Output: True

Explanation: There is a 132 pattern in the sequence: [1, 4, 2].


Example 3:

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

Output: True

Explanation: There are three 132 patterns in the sequence: [-1, 3, 2], [-1, 3, 0] and [-1, 2, 0].
assistant
#Here is the Python code you requested.

class Solution:
     def find132pattern(self, nums):
         """
         :type nums: List[int]
         :rtype: bool
         """
         if len(nums) < 3: return False
         
         low = [float('inf')]
         high = [float('inf')]
         currlow, currhigh = nums[0], nums[0]
         for i in range(1, len(nums)):
             # print(nums[i])
             while nums[i] > high[-1]:
                 low.pop()
                 high.pop()
             if low[-1] < nums[i] < high[-1]:
                 return True
             if nums[i] == currlow or nums[i] == currhigh:
                 continue
             elif nums[i] < currlow:
                 low.append(currlow)
                 high.append(currhigh)
                 currlow, currhigh = nums[i], nums[i]
             elif nums[i] > currhigh:
                 currhigh = nums[i]
             else:
                 return True
             # print(currlow, currhigh)
             # print(low)
             # print(high)
         
         return False