题解
题面描述
给定一个整数数组 temperatures,表示每天的温度,要求返回一个数组 answer,其中 answer[i] 表示对于第 i 天,下一个更高温度出现在几天后。如果之后没有比当前温度更高的温度,则 answer[i] 为 0。
思路
- 单调栈思想:
使用单调递减栈来维护温度下标。当遍历到第 i 天温度时,若栈顶对应的温度低于当前温度,则说明对于栈顶的那一天,第 i 天就是它的“下一个更高温度”的日子,因此可以计算出间隔天数并将其赋值给 answer 中相应的位置。
Leetcode 72.每日温度-原题链接
题目内容
给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i]是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替
输入描述
一个整数数组 temperatures
输出描述
一个数组 answer
样例1
输入
73 74 75 71 69 72 76 73
输出
1 1 4 2 1 1 0 0
样例2
输入
30 40 50 60
输出
1 1 1 0
样例3
输入
30 60 90
输出
1 1 0
提示:
- 1<=temperatures.length<=105
- 30<=temperatures[i]<=100