leetcode739.每日温度
leetcode739.每日温度
题目
请根据每日 气温 列表 temperatures ,请计算在每一天需要等几天才会有更高的温度。如果气温在这之后都不会升高,请在该位置用 0 来代替。
用例
输入: temperatures = [73,74,75,71,69,72,76,73]
输出: [1,1,4,2,1,1,0,0]
输入: temperatures = [30,40,50,60]
输出: [1,1,1,0]
输入: temperatures = [30,60,90]
输出: [1,1,0]
求解
/**
* @param {number[]} temperatures
* @return {number[]}
*/
var dailyTemperatures = function(temperatures) {
let stack = []
let res = new Array(temperatures.length).fill(0)
for(let i=0;i<temperatures.length;i++){
if(stack.length==0){
stack.push(i)
}else{
while(stack.length!=0&&temperatures[stack[stack.length-1]]<temperatures[i]){
res[stack[stack.length-1]]=i-stack[stack.length-1]
stack.pop()
}
stack.push(i)
}
}
return res
};

浙公网安备 33010602011771号