当前位置: 首页 > news >正文

739.每日温度

题目:

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

提示:

  • 1 <= temperatures.length <= 105
  • 30 <= temperatures[i] <= 100

解题思路:

利用递减栈的想法,如果当前的温度值比栈顶元素的温度值大就出栈,直到此时栈顶元素的温度值比当前温度值大或者此时的栈空,当前温度的天数与栈顶元素的差值就是第i天的下一个更高温度出现在几天后。

代码:

class Solution:def dailyTemperatures(self, temperatures):n = len(temperatures)if n==1:return [0]else:results = [0]*nstack = []stack.append(0)for i in range(n):while stack and temperatures[i]>temperatures[stack[-1]]:num = stack.pop()results[num] = i-numstack.append(i)return results

相关文章:

  • 鸿蒙Flutter仓库停止更新?
  • 加油站小程序实战教程13充值规则配置
  • Spark-SQL(总结)
  • 突破 RAG 检索瓶颈:Trae+MCP 构建高精度知识库检索系统实践
  • 1.微服务拆分与通信模式
  • EasyCVR视频智能分析平台助力智慧园区:全场景视频监控摄像头融合解决方案
  • 简单适配torch_npu不支持的ATen算子
  • 【MySQL】MySQL 表的增删改查(CRUD)—— 下篇(内含聚合查询、group by和having子句、联合查询、插入查询结果)
  • 人大金仓数据库删除自己创建表空间
  • mybatis实现增删改查1
  • 发布一个npm包,更新包,删除包
  • Web开发-JavaEE应用JNDI注入RMI服务LDAP服务DNS服务高版本限制绕过
  • Hadoop----高可用搭建
  • 【Redis】缓存三剑客问题实践(上)
  • Android JNI开发中头文件引入的常见问题与解决方案​,提示:file not found
  • 使用 LlamaIndex Workflows 与 Elasticsearch
  • Android 中实现图片翻转动画(卡片翻转效果)
  • Selenium 在爬取过程中,网络响应被退出的解决方案
  • C++算法(13):如何高效读取并存储未知数量的空格分隔数字
  • C语言高频面试题——sizeof和strlen的区别
  • 同日哑火丢冠,双骄的下山路,手牵手一起走
  • 宿州市委副书记任东已任市政府党组书记
  • 《探秘海昏侯国》数字沉浸特展亮相首届江西文化旅游产业博览交易会
  • 学有质量、查有力度、改有成效,广大党员干部落实中央八项规定精神
  • 赵乐际主持十四届全国人大常委会第十五次会议闭幕会并作讲话
  • “80后”蒋美华任辽宁阜新市副市长