Play it in your mind.. or it may be hard to reach to this intuitive solution...
class Solution(object): def nextGreaterElement(self, findNums, nums): hm = {} stk = [] for n in nums: while len(stk)>0 and stk[-1] < n: hm[stk[-1]] = n stk.pop() stk.append(n) return list(map(lambda x: hm[x] if x in hm else -1, findNums))
时间: 2025-01-01 12:47:19