leetcode 739 单调栈模板题

单调栈的主要应用场景:即找左边或右边第一个大于/小于自身的元素,可以说课这个题一模一样。栈中元素永远递减,当遇到大的,就一致排出,保持递减性

其中一类单调栈的核心:当打破单调性的新元素出现时,旧元素的值可以被确定。

cpp 复制代码
typedef pair<int, int> P;

class Solution {
public:
    vector<int> dailyTemperatures(vector<int>& temperatures) {
        int n = temperatures.size();
        vector<int> ans(n, 0);
        vector<P> st{P(INT_MAX, -1)};

        for(int i=0;i<n;i++)
        {
            int temp = temperatures[i];
            while(temp > st.back().first)
            {
                int pos = st.back().second;
                ans[pos] = i - pos;
                st.pop_back();
            }
            st.push_back(P(temp, i));
        }

        return ans;
    }
};
相关推荐
aaaameliaaa1 小时前
指针之总结
c语言·笔记·算法
宵时待雨1 小时前
优选算法专题9:哈希表
数据结构·算法·散列表
txzrxz1 小时前
最短路问题——Dijkstra 算法
数据结构·c++·算法·最短路·优先队列
gwf2161 小时前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件
noipp2 小时前
推荐题目:洛谷 P6231 [JSOI2013] 公交系统
c语言·数据结构·c++·算法·游戏·洛谷·luogu
c238562 小时前
C/C++每日一练6
c语言·c++·算法
wdfk_prog2 小时前
嵌入式面试真题第 13 题:单硬件 Timer 下的高精度多路软件定时器架构设计
c语言·开发语言·面试·职场和发展·嵌入式
AI小码2 小时前
把动作「画」给视频世界模型,跨本体双向推演,李飞飞参与
大数据·人工智能·算法·ai·大模型·音视频·编程
KaMeidebaby4 小时前
卡梅德生物技术快报|bli亲和力检测gst:告别批量跑胶:BLI实时酶切监测技术加速GST融合蛋白下游流程优化
前端·网络·数据库·人工智能·算法
alphaTao4 小时前
LeetCode 每日一题 2026/7/20-2026/7/26
算法·leetcode