news 2026/2/8 15:59:30

hot100-58每日温度

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
hot100-58每日温度

一、题目

给定一个整数数组,表示每天的温度,返回一个answer。

其中answer[i]对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,该位置为0。

二、思路

1、维护一个递减的单调栈,栈中存放的是温度的下标,维护栈中对应的温度值从栈底到栈顶单调递减。

2、遍历每一天,如果当前温度高于栈顶日期温度,说明找到了更暖的一天。填answer数组:弹出栈顶,计算等待天数,当前天-栈顶天,重复此过程,直到栈空或当前温度小于等于栈顶温度。

将当前天下标入栈。(用栈记住“还在等待更暖天气”的日子,一旦遇到高温,就批量结算答案

三、代码

class Solution { public int[] dailyTemperatures(int[] temperatures) { int n = temperatures.length; int[] answer = new int[n]; Stack<Integer> stack = new Stack<>(); for(int i =0;i<n;i++){ while(!stack.isEmpty() && temperatures[i] > temperatures[stack.peek()]){ int prevIndex = stack.pop(); answer[prevIndex] = i - prevIndex; } stack.push(i); } return answer; } }

四、单调栈

单调栈是一种特殊的栈,其中元素(通常是数组的下标)按照其对应的值始终保持单调递增或单调递减的顺序。

用单调栈找下一个更大元素/更小元素。

在入栈前,不断弹出比当前元素小的栈顶,直到栈空或栈顶 ≥ 当前值,再入栈。这样就保证了栈中始终是递减的。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/7 5:26:15

理解CubeMX生成的ADC初始化代码:通俗解释

深入理解CubeMX生成的ADC初始化代码&#xff1a;不只是“点配置”&#xff0c;更要懂原理在嵌入式开发的世界里&#xff0c;STM32CubeMX已经成为无数工程师的“标配工具”。尤其是当我们需要快速实现一个模拟信号采集功能时&#xff0c;只需在图形界面中勾选几个选项——选择通…

作者头像 李华
网站建设 2026/2/6 15:04:50

如何快速掌握Blender TexTools:UV纹理处理的完整实用指南

TexTools是一款专为Blender设计的免费开源UV纹理处理插件&#xff0c;为3D艺术家提供了一套完整的专业级解决方案。无论你是初学者还是资深用户&#xff0c;这款工具都能显著提升你的工作效率和作品质量&#xff0c;让复杂的UV操作变得简单直观。 【免费下载链接】TexTools-Ble…

作者头像 李华
网站建设 2026/2/6 17:39:29

构建电动汽车充电生态系统的开源接口规范指南

构建电动汽车充电生态系统的开源接口规范指南 【免费下载链接】ocpi The Open Charge Point Interface (OCPI) allows for a scalable, automated roaming setup between Charge Point Operators and e-Mobility Service Providers. It supports authorisation, charge point i…

作者头像 李华
网站建设 2026/2/7 5:09:37

5分钟学会ASCII流程图绘制:ASCIIFlow在线工具完全指南 [特殊字符]

5分钟学会ASCII流程图绘制&#xff1a;ASCIIFlow在线工具完全指南 &#x1f3a8; 【免费下载链接】asciiflow ASCIIFlow 项目地址: https://gitcode.com/gh_mirrors/as/asciiflow ASCIIFlow是一款功能强大的在线ASCII艺术流程图绘制工具&#xff0c;让任何人都能轻松创建…

作者头像 李华
网站建设 2026/2/7 2:14:02

Windhawk:零代码定制Windows系统的革命性工具

Windhawk&#xff1a;零代码定制Windows系统的革命性工具 【免费下载链接】windhawk The customization marketplace for Windows programs: https://windhawk.net/ 项目地址: https://gitcode.com/gh_mirrors/wi/windhawk 还在为Windows系统的千篇一律而烦恼&#xff1…

作者头像 李华
网站建设 2026/2/5 7:37:51

GitHub Wiki页面维护:基于Miniconda的持续更新机制

GitHub Wiki页面维护&#xff1a;基于Miniconda的持续更新机制 在高校实验室、开源项目或AI产品团队中&#xff0c;技术文档常常面临一个尴尬局面&#xff1a;写得再详细&#xff0c;代码却“跑不起来”。新成员刚接手项目&#xff0c;光是配置环境就耗去一整天&#xff1b;前任…

作者头像 李华