标签
数组
栈
日期
Oct 13, 2022
剑指 Offer II 038. 每日温度
题目描述
请根据每日
气温
列表 temperatures
,重新生成一个列表,要求其对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0
来代替示例 1:
示例 2:
示例 3:
题目解析
方法一思路:
- 类似双指针,针对每一个温度,寻找下一个比它高的温度,如果有则在结果数组中填入相应天数,无则默认补0,并且进行下一次循环
- 但是有一个测试用例没过
f**k
- 我觉得我的思路是没问题的,但是承载不了这个测试用例这么大的体量
代码:
方法二思路:
- 自己找不到突破口,只好寻求力扣题解的帮助
- 使用栈保存不高于栈顶温度的温度下标,一共有2种情况无脑插入:
- 栈为空,说明当前温度就是最高值
- 当前温度小于栈顶温度
- 当当前温度大于栈顶温度时,弹出栈顶温度,通过两者下标计算天数