739.每日温度

每日温度

给定一个整数数组 temperatures 表示每天的温度,返回一个数组 answer,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。

解析

单调递减栈。

1
2
3
4
5
6
7
8
9
10
11
12
13
var dailyTemperatures = function (temperatures) {
const n = temperatures.length;
const result = new Array(n).fill(0);
const stack = [];
for (let i = 0; i < n; i++) {
while (stack.length && temperatures[i] > temperatures[stack[stack.length - 1]]) {
const idx = stack.pop();
result[idx] = i - idx;
}
stack.push(i);
}
return result;
};

739.每日温度
https://leetcode.lz5z.com/739.daily-temperatures/
作者
tickli
发布于
2024年11月19日
许可协议