LC 0496 [E] Next Greater Element I - ALawliet/algorithms GitHub Wiki
class Solution:
def nextGreaterElement(self, nums1: List[int], nums2: List[int]) -> List[int]:
next_greater = {}
greatest = []
for num in nums2:
while greatest and greatest[-1] < num:
last_greatest = greatest.pop()
next_greater[last_greatest] = num
greatest.append(num)
return [next_greater.get(num, -1) for num in nums1]