334. 递增的三元子序列

exiaohu 于 2022-01-12 发布

题目链接:334. 递增的三元子序列

从左往右遍历,记录左侧最小的值 minn,以及左侧最小值和当前值之间的数字中的最小值 minn2

当当前值大于 minn2 时,说明已经存在了一个递增的三元子序列。

可以证明,这种策略在找到第一个可能的三元子序列时,就会返回。

from typing import List


class Solution:
    def increasingTriplet(self, nums: List[int]) -> bool:
        minn, minn2 = float('inf'), float('inf')
        for num in nums:
            if num < minn:
                minn = num
            elif minn < num < minn2:
                minn2 = num
            elif num > minn2:
                return True
        return False