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

栈----4.每日温度

739. 每日温度 - 力扣(LeetCode)

/**

        单调栈:

            首先将元素逐个入栈,栈中存放元素的索引。

            入栈时进行判断,若待入栈元素比栈顶元素大,则下标相减得到栈顶元素的answer,将栈顶元素弹出

            重复上述流程继续判断,直到 待入栈元素 <= 栈顶元素,入栈判断数组中下一个元素

            若数组遍历完毕,栈中还有元素,则栈中剩余元素answer为0

*/

class Solution {/**单调栈:首先将元素逐个入栈,栈中存放元素的索引。入栈时进行判断,若待入栈元素比栈顶元素大,则下标相减得到栈顶元素的answer,将栈顶元素弹出重复上述流程继续判断,直到 待入栈元素 <= 栈顶元素,入栈判断数组中下一个元素若数组遍历完毕,栈中还有元素,则栈中剩余元素answer为0*/public int[] dailyTemperatures(int[] temperatures) {//初始化,定义answer记录结果int len = temperatures.length;int[] answer = new int[len];//栈Deque<Integer> stack = new ArrayDeque<>();for(int i = 0; i < len; i++) {//若待入栈元素比栈顶元素大,则下标相减得到栈顶元素的answer,将栈顶元素弹出while(!stack.isEmpty() && temperatures[i] >temperatures[stack.peek()]) {int index = stack.pop();answer[index] = i - index;}//直到待入栈元素 <= 栈顶元素,将元素入栈stack.push(i);}return answer;}
}

http://www.dtcms.com/a/300812.html

相关文章:

  • AIC 2025 热点解读:如何构建 AI 时代的“视频神经中枢”?
  • 主要分布于内侧内嗅皮层的层Ⅲ的边界向量细胞(BVCs)对NLP中的深层语义分析的积极影响和启示
  • Tkinter美化 - 告别土味Python GUI
  • VScode输出中文乱码问题解决
  • C++ 构造函数中阻止资源泄漏的实践探索
  • Java中get()与set()方法深度解析:从封装原理到实战应用
  • 2025年项目数据看板工具选型指南,精选12款
  • Spring Cloud Alibaba:微服务架构的最佳选择?
  • 系统思考:快就是慢
  • 编写SQL语句时,#{} 和 ${}的区别
  • 一文读懂 JWT(JSON Web Token)
  • 使用橙武低代码平台做数据统计:定时任务汇总数据并生成日报表
  • 零基础学习性能测试:JVM性能分析与调优-JVM垃圾回收机制,GC对性能的影响
  • Gradio.NET 中文快速入门与用法说明
  • Python-初学openCV——图像预处理(四)——滤波器
  • Python 数据分析(四):Pandas 进阶
  • 负载均衡Haproxy
  • [NOIP 2004 提高组] 合并果子 Java
  • Vue 框架 学习笔记
  • 《汇编语言:基于X86处理器》第10章 结构和宏(1)
  • 【任务6.15】字符串操作
  • 51c自动驾驶~合集9
  • 以太坊ETF流入量超越比特币 XBIT分析买币市场动态与最新价格
  • 51核和ARM核单片机OTA实战解析(二)
  • docker与k8s的容器数据卷
  • 接口自动化-allure报告
  • 从零开始:Coze Studio开源版部署全记录(win11)
  • Leetcode力扣解题记录--第136题(查找单数)
  • note22:应用安全编码规范培训
  • 从零开始学习Dify-基于MCP的智能旅行规划助手上(八)