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;
    }
};
相关推荐
凌波粒16 分钟前
LeetCode--108.将有序数组转换为二叉搜索树(二叉树)
算法·leetcode·职场和发展
liulilittle16 分钟前
KCC:在 BBR 思路上的一次探索
网络·tcp/ip·算法·bbr·通信·拥塞控制·kcc
浦信仿真大讲堂38 分钟前
达索系统SIMULIA Abaqus 2026接触和约束的增强新功能介绍
人工智能·python·算法·仿真软件·达索软件
点云侠1 小时前
PCL 生成三棱锥点云
c++·算法·最小二乘法
兰令水1 小时前
leecodecode【面试150】【2026.6.13打卡-java版本】
java·算法·leetcode
临沂堇1 小时前
刷题日志 | Leetcode Hot 100 哈希
算法·leetcode·哈希算法
玉小格1 小时前
一次关于Python的总结
算法
ychqsq1 小时前
54.新芽
经验分享·职场和发展
伊甸31 小时前
从企业级项目学敏感词过滤:DFA算法与双层缓存实战
java·算法·缓存
bIo7lyA8v2 小时前
算法中的随机化思想及其复杂度收益评估的技术8
算法