'''
解题思路:
维护一个长度为2的上升子序列up,和当前为止的序列最小值minv,根据规则更新即可
'''
# [20,100,10,12,5,13]
from typing import re
class Solution:
def increasingTriplet(self, nums):
L = nums
print(L)
n = len(nums)
minv = L[0]
up = [minv]
for i in range(1,n):
Li = L[i]
if len(up)==1:
if Li<minv:
minv = Li
elif Li>minv:
up = [minv,Li]
elif len(up)==2:
if Li>up[1]:
return True
elif Li>up[0]:
up[1] = Li
if Li>minv and Li<=up[1]:
up = [minv,Li]
if Li<minv:
minv = Li
print('i=',i,'Li=',Li,'minv=',minv,'up=',up)
return False
#nums = [20,100,10,12,5,13]
#nums = [1,2,3,4,5]
#nums = [5,4,3,2,1]
nums = [2,1,5,0,4,6]
t = Solution().increasingTriplet(nums)
print(t)