LeetCode75| 单调栈

目录

739 每日温度

901 股票价格跨度


739 每日温度

求后面第一个比他大的元素的位置,单调栈需要递增

求后面第一个比他小的元素的位置,单调栈需要递减

本题栈头到栈底的顺序应该从小到大

class Solution {
public:
    vector<int> dailyTemperatures(vector<int>& temperatures) {
        stack<int>st;
        vector<int>res(temperatures.size());
        st.push(0);
        for(int i = 1;i < temperatures.size();i++){
            if(temperatures[i] < temperatures[st.top()]){
                st.push(i);
            }else{
                while(!st.empty() && temperatures[i] > temperatures[st.top()]){
                    res[st.top()] = i - st.top();
                    st.pop();
                }
                st.push(i);
            }
        }
        return res;
    }
};

时间复杂度O(n)

空间复杂度O(n)

901 股票价格跨度

求后面第一个比他大的元素的位置,单调栈需要递增

求后面第一个比他小的元素的位置,单调栈需要递减

本题栈头到栈底的顺序应该从大到小

注意插入一个日期为-1,价格为INT_MAX的值,确保栈不会为空

class StockSpanner {
public:
    StockSpanner() {
        this->st.emplace(-1,INT_MAX);
        this->idx = -1;
    }
    int next(int price) {
        idx++;
        while(st.top().second <= price){
            st.pop();
        }
        int res = idx - st.top().first;
        st.emplace(idx,price);
        return res;
    }
private:
    stack<pair<int,int>>st;
    int idx;
};

时间复杂度O(n)

空间复杂度O(n)

相关推荐

  1. LeetCode75| 单调

    2024-01-01 08:20:04       68 阅读
  2. LeetCode85. Maximal Rectangle——单调

    2024-01-01 08:20:04       45 阅读
  3. Leetcoder Day43| 单调1

    2024-01-01 08:20:04       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-01 08:20:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-01 08:20:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-01 08:20:04       82 阅读
  4. Python语言-面向对象

    2024-01-01 08:20:04       91 阅读

热门阅读

  1. 一篇文章认识微服务的优缺点和微服务技术栈

    2024-01-01 08:20:04       55 阅读
  2. 九台虚拟机网站流量分析项目启动步骤

    2024-01-01 08:20:04       65 阅读
  3. mac安装yum

    2024-01-01 08:20:04       53 阅读
  4. 使用Python实现简单的区块链

    2024-01-01 08:20:04       58 阅读
  5. Docker 容器命令总汇

    2024-01-01 08:20:04       54 阅读
  6. 5-Docker实例-安装tomcat

    2024-01-01 08:20:04       62 阅读
  7. React16源码: createRef与forwardRef源码实现

    2024-01-01 08:20:04       44 阅读
  8. SAT问题

    2024-01-01 08:20:04       60 阅读
  9. git常用命令

    2024-01-01 08:20:04       48 阅读
  10. iris数据集的介绍

    2024-01-01 08:20:04       60 阅读