- 思路
栈的利用,用stack记录还没遇到较高温度的日期,温度较小则入栈,温度较高则stack中温度最小的出栈并继续比较剩下的,result[出栈的日期] = 当前日期-出栈的日期
class Solution:
def dailyTemperatures(self, T: List[int]) -> List[int]:
stack = []
res = [0] * len(T)
for i, t in enumerate(T):
while stack and t > T[stack[-1]]:
res[stack.pop()] = i - stack[-1]
stack.append(i)
return res