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

LeetCode热题100--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]

题解

classSolution{publicint[]dailyTemperatures(int[]T){intlength=T.length;int[]result=newint[length];//从右向左遍历for(inti=length-2;i>=0;i--){// j+= result[j]是利用已经有的结果进行跳跃for(intj=i+1;j<length;j+=result[j]){if(T[j]>T[i]){result[i]=j-i;break;}elseif(result[j]==0){//遇到0表示后面不会有更大的值,那当然当前值就应该也为0result[i]=0;break;}}}returnresult;}}

解析

出自:每日温度 - Java

publicint[]dailyTemperatures(int[]T){...}//定义一个方法,它接受一个整型数组并返回另一个整型数组。intlength=T.length;int[]result=newint[length];//初始化我们的"result"数组,并给它分配输入数据的大小和维度。for(inti=length-2;i>=0;i--){...}//我们反着读取我们的"T"数组,从最后一个元素到第一个。这是为了能够利用我们已经做过的计算来跳过我们不需要再次做的计算(例如在同一迭代中找出更大的值的检查和赋值)。for(intj=i+1;j<length;j+=result[j]){...}//这个循环试图找到T中的下一个较大的气温,它使用了我们已经计算过的值来跳过某些索引。我们每次增加`result[j]`是基于前面的结果(可能对同一迭代来说可能是零)if(T[j]>T[i]){...}//如果当前的'j'索引上的值大于我们的'i'索引,我们计算出间隔并将其赋给我们的result数组中的'i'索引。elseif(result[j]==0){...}//否则如果在接下来的索引上找不到更大的值(前面的循环已经处理了这个情况),我们认为该天的温度"没有等待更多的天数".returnresult;//这行代码完成整个函数。它将我们的结果数组作为输出返回给调用者。
http://www.jsqmd.com/news/73472/

相关文章:

  • 一线大厂测试开发岗位面试经验与真题解析(2025年12月版)
  • 【算法基础篇】(三十一)动态规划之基础背包问题:从 01背包到完全背包,带你吃透背包问题的核心逻辑
  • 2026年大模型(LLM)学习终极指南:从零基础到精通,一篇涵盖全部核心技术与实战!
  • 接口测试:Charles 抓包工具证书配置
  • 【Git原理与使用】(三)Git 分支管理终极指南:从基础操作到企业级实战,解锁高效协作密码
  • 6.类作用域
  • @AutoWired报错一直找不到问题在哪?那可能是这个问题!
  • League Akari终极指南:英雄联盟智能助手的高效技巧
  • BetterGI:原神自动化工具完整使用指南,释放你的游戏时间
  • 【学习系列】SAP RAP 24:Outbound Communication消费外部HTTP服务示例(调用DeepSeek/Qwen3)
  • 基于目标级联法的微网群多主体分布式优化调度(Matlab代码实现)
  • 内存分配效率提升50%?.NET 9这3项优化你不可不知
  • 不造车却对标特斯拉,地平线的三张底牌
  • 第52天(中等题 数据结构)
  • 【毕业设计】基于SpringBoot Vue高校大学生心理咨询管理系统基于springboot高校大学生心理咨询管理系统(源码+文档+远程调试,全bao定制等)
  • SQL SELECT:向数据库“点菜”的神奇指令
  • 就在刚刚,我发现了学习AI Agent最伟大的网站!
  • B站视频转文字完整指南:一键提取语音内容神器
  • 干翻Dubbo系列第二篇:Dubbo3相对其他版本的升级
  • 干翻Dubbo系列第一篇:Dubbo是什么?
  • 暴雨2U服务器|如何成为企业数字化转型的“定海神针”?
  • Universal x86 Tuning Utility 终极指南:如何解锁Intel CPU完整电压调节功能
  • 无需显卡!实战 Open-AutoGLM + 智谱 API:让 AI 替我玩手机
  • 你真的会写Agentic Apps配置吗?Docker Compose中不可不知的4大陷阱与优化
  • 【VSCode Cirq代码补全插件深度指南】:掌握量子编程效率提升的5大核心技巧
  • 【最优潮流】基于半定规划(SDP)模型求解最优潮流研究(Matlab代码实现)
  • 5步搞定Blender 3MF插件:从安装到高效3D打印工作流
  • 你还在手动调试量子代码?VSCode自动化连接配置让效率提升10倍,速看!
  • 如何在24小时内掌握R语言Copula模型?资深专家亲授高效路径
  • 【量子计算环境搭建终极指南】:手把手教你构建高效Docker镜像