056 · Daily Temperatures
algorithm
Problem
给定一个整数数组 temperatures,其中 temperatures[i] 表示第 i 天的气温。
对每一天,需要计算还要等待多少天,才会出现一个更暖和的日子。
如果某一天之后再也没有更暖和的日子,那么这一天的答案是 0。
请返回一个数组 answer,其中 answer[i] 是第 i 天需要等待的天数。
例如:
temperatures = [73, 74, 75, 71, 69, 72, 76, 73]
对每一天来看:
- 第 0 天是
73,第 1 天74更暖和,所以等待1天 - 第 1 天是
74,第 2 天75更暖和,所以等待1天 - 第 2 天是
75,第 6 天76才更暖和,所以等待4天 - 第 3 天是
71,第 5 天72更暖和,所以等待2天 - 第 4 天是
69,第 5 天72更暖和,所以等待1天 - 第 5 天是
72,第 6 天76更暖和,所以等待1天 - 第 6 天是
76,后面没有更暖和的日子,所以答案是0 - 第 7 天是
73,后面没有日子,所以答案是0
所以返回:
[1, 1, 4, 2, 1, 1, 0, 0]
Examples
示例 1
Input: temperatures = [73, 74, 75, 71, 69, 72, 76, 73]
Output: [1, 1, 4, 2, 1, 1, 0, 0]
解释:每个位置的数字表示从当天开始,需要等几天才会遇到更高的气温。
示例 2
Input: temperatures = [30, 40, 50, 60]
Output: [1, 1, 1, 0]
解释:前三天的下一天都更暖和;最后一天之后没有其他日子,所以答案是 0。
示例 3
Input: temperatures = [30, 60, 90]
Output: [1, 1, 0]
解释:第 0 天等到第 1 天变暖,第 1 天等到第 2 天变暖,第 2 天之后没有更暖和的日子。
Constraints
- \(1 \leq\)
temperatures.length\(\leq 10^5\) - \(30 \leq\)
temperatures[i]\(\leq 100\)
Link
→ Solution