132 Pattern
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
Input: [1, 2, 3, 4]
Output: False
Explanation: There is no 132 pattern in the sequence.
Solution
class Solution:
def find132pattern(self, nums: List[int]) -> bool:
stack, temp = [], float("-inf")
for num in nums[::-1]:
if num<temp:
return True
while stack and stack[-1]<num:
temp = stack.pop()
stack.append(num)
return False

本文深入探讨了132Pattern算法,这是一种用于检测特定序列模式的高效算法。通过检查给定的整数序列,算法能够判断是否存在符合132模式的子序列,即是否存在三个元素a[i]、a[j]、a[k]满足i<j<k且a[i]<a[k]<a[j]的条件。文章详细解释了算法的工作原理,并提供了一个Python实现示例。

229

被折叠的 条评论
为什么被折叠?



