739.每日温度
一、栈
class Solution:
def dailyTemperatures(self, T: List[int]) -> List[int]:
n = len(T)
if n == 1:
return [0]
res = [0] * n #结果集,初始为0
stack = [0] #栈,存储下标
for i in range(1, n):
#比较当前温度与栈顶下标指示的温度
while len(stack) > 0 and T[i] > T[stack[-1]]:
res[stack[-1]] = i - stack[-1] #计算差值
stack.pop()
stack.append(i) #每次入栈一个
return res二、单调栈
最后更新于