【leetcode 503】

 先记录一下 日后再优化

 

 

class Solution:
    def nextGreaterElements(self, nums: List[int]) -> List[int]:
        stack =[]
        res = [-1] * len(nums)
        for i,ele in enumerate(nums):
            while stack and stack[-1][1]<ele:
                j,val = stack.pop()
                res[j] = ele
            stack.append((i,ele))
        while stack:
            a,b = stack.pop()
            for i,x in enumerate(nums):
                if x >b:
                    res[a] = x
                    break
        return res


posted @ 2023-02-01 22:36  莫大师兄  阅读(17)  评论(0)    收藏  举报