力扣901.股票价格跨度

力扣901.股票价格跨度

  • 单调栈

    • 若当前价格 >= 栈顶元素 弹出栈顶元素
    • 找到最远的符合要求的
cpp 复制代码
  class StockSpanner {
      stack<pair<int,int>> st;
      int cur_day = -1;
  public:
      StockSpanner() {
          st.emplace(-1,INT_MAX);
      }
      
      int next(int price) {
          while(price >= st.top().second)
              st.pop();
          int ans = ++cur_day - st.top().first;
          st.emplace(cur_day,price);
          return ans;
      }
  };
相关推荐
叼烟扛炮7 分钟前
C++ 知识点17 友元
开发语言·c++·算法·友员
SamDeepThinking15 分钟前
写代码不考虑前后兼容,迟早要还的
java·后端·程序员
亿牛云爬虫专家19 分钟前
深度解析:数据采集场景下的 Java 代理技术实战
java·开发语言·数据采集·动态ip·动态代理·代理配置·连接池复用
小小仙。24 分钟前
IT自学第四十二天
java·开发语言
richard_yuu25 分钟前
数据结构|二叉树高阶进阶-经典算法
数据结构·c++·算法
java1234_小锋29 分钟前
说一下Spring的事务传播行为?
java·数据库·spring
庞轩px31 分钟前
第四篇:SpringBoot自动配置——约定大于配置的底层原理
java·spring boot·后端·spring·自动配置·注解开发
不知名的忻33 分钟前
Dijkstra算法(朴素版&堆优化版)
java·数据结构·算法··dijkstra算法
苏三说技术33 分钟前
美团二面:高并发下如何保证接口幂等性?
java·数据库
星星码️1 小时前
LeetCode刷题简单篇之反转字母
c++·算法·leetcode