首页 > 其他分享 >每日温度(单调递增栈)

每日温度(单调递增栈)

时间:2025-01-03 13:22:23浏览次数:1  
标签:示例 res 递增 st vector temperatures 每日 单调 温度

给定一个整数数组 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]

 

class Solution {
public:
    vector<int> dailyTemperatures(vector<int>& temperatures) {
        //其实就是维护一个单调递增栈,只不过栈中存放的是代表温度的索引,以便计算res
        stack<int> st;
        int n = temperatures.size();
        vector<int> res(n,0);
        for(int i=0;i<n;i++){
            while(!st.empty()&&temperatures[i]>temperatures[st.top()]){
          //只要当前索引的温度大于栈顶索引的温度,就更新res res[st.top()] = i-st.top(); st.pop(); } st.push(i); } return res; } };

 

标签:示例,res,递增,st,vector,temperatures,每日,单调,温度
From: https://www.cnblogs.com/yueshengd/p/18649952

相关文章

  • 【网络云SRE运维开发】2025第1周-每日【2025/01/03】小测-【第4章 综合布线】理论和实
    文章目录一、理论题详细解析1.办公网综合布线系统中,水平子系统常用的线缆类型是什么,其最大传输距离一般为多少?2.简述综合布线系统中工作区子系统的主要作用和组成部分。3.在综合布线系统中,管理子系统的功能是什么,通常包含哪些设备?4.垂直干线子系统主要用于连接哪些部......
  • 【网络云SRE运维开发】2025第1周-每日【2025/01/03】小测-【第4章 综合布线】理论和实
    文章目录一、理论题1.办公网综合布线系统中,水平子系统常用的线缆类型是什么,其最大传输距离一般为多少?2.简述综合布线系统中工作区子系统的主要作用和组成部分。3.在综合布线系统中,管理子系统的功能是什么,通常包含哪些设备?4.垂直干线子系统主要用于连接哪些部分,常见的......
  • GitHub每日最火火火项目(12.29)
    项目名称:free-programming-books项目介绍:free-programming-books由EbookFoundation开发,是一个提供免费编程书籍的项目。该项目使用HTML语言,有343,053个相关文件,62,152次构建。在编程学习领域,获取高质量的学习资料是非常重要的。这个项目通过收集和整理大量的免费......
  • GitHub每日最火火火项目(12.28)
    项目名称:siyuan项目介绍:siyuan由siyuan-note开发,是一款隐私至上、自托管且完全开源的个人知识管理软件,采用TypeScript和Golang编写。该项目有24,486个相关代码文件,1,686次构建。在知识管理软件领域,siyuan的开源和自托管特性使其在数据隐私方面具有优势。用户可以自行掌......
  • 每日算法----链表相交(Java)
    双指针需要找到相交节点,特殊情况两个链表在相交前的节点个数是相同的,这种情况我们只需用两个指针同时遍历两个链表,当currA==currB时,此时就找到了相交节点。从这个特殊情况可以看出来,我们需要两个链表在相交前的节点个数是相同的,对于两个相交节点不同的情况,当链表A遍历完后,我......
  • 每日算法----环形链表II(Java)
    本题在上个环形链表的基础上增加了难度,让找其环形链表的第一个节点还是原先的思路,定义快慢指针在第一次快慢指针相等时,a是到环形前的节点个数,k是离环形节点有多远快指针走了a+n圈环形+k慢指针走了a+m圈环形+k此时快指针走的路程是慢指针2倍。慢指针=快指针-慢指针=n圈......
  • 每日算法----环形链表(Java)
    快慢指针慢指针一次走一步,快指针一次走两步,环形链表,最后一定会碰到。publicclassA06hasCycle{publicbooleanhasCycle(ListNodehead){ListNodeslow=head;//慢指针ListNodefast=head;//快指针//快指针不为null且下一个节点......
  • 高级java每日一道面试题-2024年12月27日-并发篇-锁的优化机制了解吗 ?
    如果有遗漏,评论区告诉我进行补充面试官:锁的优化机制了解吗?我回答:在Java高级面试中,锁的优化机制是一个重要且常见的考点。以下是对Java锁优化机制的详细解释:一、锁的基本概念锁是多线程编程中至关重要的同步机制,用于确保线程间共享数据的正确性。然而,使用锁也会引......
  • 006. 滑动窗口 /【模板】单调队列(洛谷P1886)
    006.滑动窗口/【模板】单调队列(洛谷P1886)题目描述有一个长为\(n\)的序列\(a\),以及一个大小为\(k\)的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。例如,对于序列\([1,3,-1,-3,5,3,6,7]\)以及\(k=3\),有如下过程:\[\def\a......
  • 单调栈
    [Algo]单调栈基本模板:vector<vector<int>>lessThanIndex(vector<int>&arr){intlen=arr.size();vector<vector<int>>ans(len,vector<int>(2,0));stack<int>s;for(inti=0;i<len;i++)......