每日温度
TIP
给定一个整数数组 temperatures
,表示每天的温度,返回一个数组 answer
,其中 answer[i]
是指对于第 i
天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0
来代替。
思路
js
var dailyTemperatures = function(temperatures) {
let res = Array(temperatures.length).fill(0)
let stack = []
stack.push(0)
for(let i=1;i<temperatures.length;i++){
if(temperatures[i] > temperatures[stack[stack.length-1]]){
while(temperatures[stack[stack.length-1]] < temperatures[i]){
let top = stack.pop()
res[top] = i - top
}
}
stack.push(i)
}
return res
};