当前位置: 首页 > 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的区别
  • 预热苏杯,“谁羽争锋”全国新闻界羽毛球团体邀请赛厦门开赛
  • 又双叒叕出差太空了!神二十成功出发,神十九乘组扫榻以待
  • 爱奇艺要转型做微剧?龚宇:是误解,微剧是增量业务,要提高投资回报效益
  • 央行副行长:上海国际金融中心建设是我国参与国际金融竞争的核心载体
  • 王毅将出席中国一中亚外长第六次会晤、金砖国家外长会晤和第十五次金砖国家安全事务高级代表会议
  • 北京潮白河大桥发生火情:部分桥体受损,现场已双向断路