这是单调栈的经典应用,第一次接触,因为简单,就是栈中元素按照排序顺序存储
超时是忘记删除输出测试语句了
查看代码
class Solution:
def dailyTemperatures(self, temperatures: List[int]) -> List[int]:
a=list()
result = [0]*len(temperatures)
for i,x in enumerate(temperatures):
if not a:
a.append(i)
continue
else:
if temperatures[a[-1]]>x:
a.append(i)
else :
while a and temperatures[a[-1]]<x:
result[a[-1]]=i-a[-1]
a.pop()
a.append(i)
return result