# 456. 132 模式

# 题目

给定一个整数序列:a1, a2, ..., an,一个 132 模式的子序列  ai, aj, ak  被定义为:当 i < j < k 时,ai < ak < aj。设计一个算法,当给定有  n 个数字的序列时,验证这个序列中是否含有 132 模式的子序列。

注意:n 的值小于 15000。

# 题解

# 枚举

/**
 * @param {number[]} nums
 * @return {boolean}
 */
var find132pattern = function(nums) {
  let n = nums.length;
  if (n < 3) return false;
  let l = nums[0];
  let right = nums.slice(2, n);
  for (let i = 1; i < n - 1; i++) {
    if (l < nums[i]) {
      for (let r of right) {
        if (r > l && r < nums[i]) return true;
      }
    }
    l = Math.min(l, nums[i]);
    right.splice(0, 1);
  }
  return false;
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20