单调栈的应用.

class Solution:
    def nextGreaterElements(self, nums: List[int]) -> List[int]:
        size = len(nums)
        ret = [-1] * size
        stack = []
        for i in list(range(size)) * 2:
            while stack and stack[-1][1] < nums[i]:
                ret[stack.pop()[0]] = nums[i]
            stack.append((i, nums[i]))
        return ret

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄