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

单调栈 模板

class Solution {
public:
//从后往前的方法 
    vector<int> dailyTemperatures(vector<int>& temperatures) {
        int n = temperatures.size();
        vector<int> ans(n);//创建一个大小为n的数组
        stack<int> st;//这个时候栈中没有任何元素
        for(int i = n-1;i >= 0; i--){
            int t = temperatures[i];
            while(!st.empty() && t >= temperatures[st.top()]){
                //第一次循环的时候栈是空的 直接跳过循环
                st.pop();
            }
            if(!st.empty()){
                ans[i] = st.top() - i;
            }
            st.push(i);//我们push进去的是数组的下标 而不是数组的值
        }
        return ans;
    }
};

//我们随机一组数字
// [73,74,75,71,69,72,76,73]
// 73

//我们随机一组数字

练习:
每日温度

class Solution {
public:
//从后往前的方法 
    vector<int> dailyTemperatures(vector<int>& temperatures) {
        int n = temperatures.size();
        vector<int> ans(n);//创建一个大小为n的数组
        stack<int> st;//这个时候栈中没有任何元素
        for(int i = n-1;i >= 0; i--){
            int t = temperatures[i];
            while(!st.empty() && t >= temperatures[st.top()]){
                //第一次循环的时候栈是空的 直接跳过循环
                st.pop();
            }
            if(!st.empty()){
                ans[i]
            }
            st.push(i);//我们push进去的是数组的下标 而不是数组的值
        }
        return ans;
    }
};

//我们随机一组数字

在这里插入图片描述


http://www.kler.cn/a/144871.html

相关文章:

  • C语言之指针知识点总结
  • VCenter6.7 Web访问提示503 Service Unavailable
  • Linux加强篇006-存储结构与管理硬盘
  • leetcode每日一题33
  • yolov5利用yaml文件生成模型
  • Python武器库开发-前端篇之CSS元素(三十二)
  • 佳易王各行业收银管理系统软件,企业ERP管理软件,企业或个体定制开发软件以及软件教程资源下载总目录,持续更新,可关注收藏查阅
  • Docker Remote API 使用详解
  • 【MySQL】数据库基础操作
  • 无人机电力巡检系统运行流程全解读
  • js无法请求后端接口,别的都可以?
  • 如何把自己银行卡里的钱转账充值到自己支付宝上?
  • tensorflow和pytorch都分别存在CPU和GPU版本
  • MongoDB的部署
  • SELinux零知识学习三十二、SELinux策略语言之角色和用户(3)
  • 深入浅出 Linux 中的 ARM IOMMU SMMU II
  • JAVA毕业设计112—基于Java+Springboot+Vue的宠物领养社区小程序(源码+数据库)
  • leetCode 1026. 节点与其祖先之间的最大差值 + 递归
  • OSS+CDN的资费和安全
  • 1000MW火电厂过热汽温控制系统设计及基于多目标优化的控制系统整定