class Solution(object):
def nextGreaterElement(self, findNums, nums):
"""
:type findNums: List[int]
:type nums: List[int]
:rtype: List[int]
"""
nexts = {}
stack = []
for n in nums :
while stack and n > stack[-1] :
nexts[stack.pop()] = n
stack.append(n)
while stack :
nexts[stack.pop()] = -1
return [nexts[n] for n in findNums]
문제 풀이
O(n)으로 가능할 듯