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))
LeetCode "496. Next Greater Element I" !
原文:http://www.cnblogs.com/tonix/p/6393091.html