用递减栈做;把(下标值,数组值)存入栈,每次来新元素的时候都与栈顶元素比较,如果比栈顶的数组值打的话,就找到了离栈顶元素最近的比它大的值。
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