python 每日温度
2021/12/12 9:17:29
本文主要是介绍python 每日温度,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
| 每日温度
请根据每日 气温 列表 temperatures ,请计算在每一天需要等几天才会有更高的温度。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入: temperatures = [73,74,75,71,69,72,76,73] 输出: [1,1,4,2,1,1,0,0] 示例 2: 输入: temperatures = [30,40,50,60] 输出: [1,1,1,0] 示例 3: 输入: temperatures = [30,60,90] 输出: [1,1,0]
单调栈题解法
python code
class Solution: def dailyTemperatures(self, temperatures: List[int]) -> List[int]: length = len(temperatures) stack = list() result = [0] * length for i, v in enumerate(temperatures): # 如果是空栈 后者当前元素小于栈顶元素 直接入栈 if not stack or stack[-1][1] > v: stack.append((i, v)) else: # 如果栈顶元素大于当前元素 栈顶元素出栈 继续跟下一个栈顶元素对比 while True: if stack and stack[-1][1] < v: # 通过索引相减 得到升温之间间隔的天数 num = i - stack[-1][0] index = stack.pop()[0] result[index] = num else: # 把栈中比当前元素小的值全部弹出 最后在把当前元素入栈 stack.append((i, v)) break return result
这篇关于python 每日温度的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python