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

python-leetcode 71.每日温度

题目:

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


可以理解为对于数组中的每一个元素,找到下一个比它大的元素的位置,并计算他们的距离,如果不存在这样的元素,则距离为0

1.初始化:

stack:用于存储温度的索引

answer:初始化为全0的数组

2.遍历:

对于每个温度temp和其索引i:

        如果栈不为空且temp大于栈顶索引对应的温度:

                弹出栈顶索引j,并设置answer[j]=[i-j]

        将当前索引i压入栈中。

3.返回结果1

class Solution(object):def dailyTemperatures(self, temperatures):""":type temperatures: List[int]:rtype: List[int]"""stack=[]answer=[0]*len(temperatures)for i ,temp in enumerate(temperatures):  #遍历温度列表,i是当前日期索引,temp是当前温度值while stack and temp>temperatures[stack[-1]]:  #当栈不为空且当前温度高于栈顶日期对应的温度时,进入循环j=stack.pop() #弹出栈顶元素j(即找到了比temperatures[j]更高的温度)answer[j]=i-j#当前索引i减去之前日期索引jstack.append(i)return answer

时间复杂度:O(n)

空间复杂度:O(n)

相关文章:

  • 【技术揭秘】Profinet转RS485如何优化冲剪机的实时通信性能?​​
  • App 出海:全渠道营销如何通过性能监控与精准归因实现增长
  • 【C++ Primer 学习札记】函数传参问题
  • Xilinx XCAU10P-2FFVB676I 赛灵思 Artix UltraScale+ FPGA
  • Xilinx 7Series\UltraScale FPGA MultiBoot Fallback
  • 力扣-三数之和
  • 浙大团队研发Earth Explorer系统,探索深时演化/地学剖面/科研场景,赋能深时地球科学研究
  • 可理解性输入:逛超市
  • 教师角色的转变:从知识传授者到学习引导者
  • LeetCode 1004. 最大连续1的个数 III
  • 友达15.6寸G156HAN02.3工业显示模组
  • Redis String 设计思想深度解析
  • Datacom-hcia~Datacom-hcie学习笔记索引
  • 力扣-有效三角形的个数
  • 初识Linux · NAT 内网穿透 内网打洞 代理
  • 从零基础到最佳实践:Vue.js 系列(6/10):《Composition API(组合式 API)》
  • Redis集群在NoSQL中的应用与优化策略
  • 如何用数据可视化提升你的决策力?
  • CNN vs ViT:图像世界的范式演进
  • 英伟达CEO黄仁勋COMPUTEX 2025演讲实录:AI工厂时代已来,Blackwell架构全面投产
  • 局域网站建设/今天今日头条新闻
  • 外包软件公司/合肥seo网络营销推广
  • 有什么做数学题的网站/seo职位
  • 做网站淮南/自建网站平台有哪些
  • 网站建设市区/做关键词排名好的公司
  • 舆情报告单/seowhy论坛