Leetcode 334. Increasing Triplet Subsequence

https://leetcode.com/problems/increasing-triplet-subsequence/css

Medium

Given an unsorted array return whether an increasing subsequence of length 3 exists or not in the array.ide

Formally the function should:spa

Return true if there exists  i, j, k 
such that  arr[i] <  arr[j] <  arr[k] given 0 ≤  i <  j <  k ≤  n-1 else return false.

Note: Your algorithm should run in O(n) time complexity and O(1) space complexity.code

Example 1:orm

Input: [1,2,3,4,5]
Output: true 

Example 2:blog

Input: [5,4,3,2,1]
Output: false

 1 class Solution:
 2     def increasingTriplet(self, nums: List[int]) -> bool:
 3         min_num, a, b = float("inf"), float("inf"), float("inf")
 4         
 5         for c in nums:
 6             if c <= min_num: # pay attention to equal case
 7                 min_num = c
 8             elif c <= b:
 9                 a, b = min_num, c
10             else: # a < b < c
11                 return True
12         
13         return False
View Code
相關文章
相關標籤/搜索