Given an integer array nums,
return true if there exists a triple of indices (i, j, k)
such that i < j < k and nums[i] < nums[j] < nums[k].
If no such indices exists, return false.
정수 배열 nums가 주어집니다.
배열의 index 인 i, j, k 에 대해
i < j < k 인 경우 nums[i] < nums[j] < nums[k] 가 성립하는 경우가 존재하는지
boolean 자료형으로 리턴하시오.
Input: nums = [1,2,3,4,5]
Output: true
Input: nums = [5,4,3,2,1]
Output: false
a | b |
---|---|
None | None |
만약 for loop를 전부 돌때까지 True를 리턴하지 않을 경우 False를 리턴하게 됩니다.
class Solution:
def increasingTriplet(self, nums: List[int]) -> bool:
a, b = None, None
for i, v in enumerate(nums):
if a == None:
a = v
continue
if b == None and a < v:
b = v
continue
elif b == None and a >= v:
a = v
continue
if v < a:
a = v
elif v < b and v > a:
b = v
elif v > b:
return True
return False