Leetcode 739 每日温度

用递减栈做;把(下标值,数组值)存入栈,每次来新元素的时候都与栈顶元素比较,如果比栈顶的数组值打的话,就找到了离栈顶元素最近的比它大的值。
class Solution:
    def dailyTemperatures(self, T: List[int]) -> List[int]:
        d=[0]*len(T)
        stack = []
        for i in range(0,len(d)):
            while stack and T[i]>stack[-1][1]:
                nums = stack.pop()
                d[nums[0]] = i-nums[0]
            stack.append((i,T[i]))
        return d


全部评论

相关推荐

酷酷我灵儿帅:这去不去和线不线下面说实话没啥关系
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务