力扣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;
      }
  };
相关推荐
okseekw4 分钟前
Java反射:解锁框架开发的终极密码,让代码拥有"动态灵魂"!
java·后端
码农水水10 分钟前
腾讯Java面试被问:阻塞队列BlockingQueue的实现原理
java·后端·python·面试
廋到被风吹走24 分钟前
【Spring】BeanPostProcessor详解
java·后端·spring
·云扬·24 分钟前
MySQL Join关联查询:从算法原理到实战优化
数据库·mysql·算法
bbq粉刷匠28 分钟前
二叉树中两个指定节点的最近公共祖先
java·算法
ppo9235 分钟前
Spring Boot 集成 Kafka 3.9.0:部署、监控与消息发送教程
java·架构
JavaEdge.42 分钟前
IDEA卡死没反应的全部解决方案
java·ide·intellij-idea
高山上有一只小老虎1 小时前
使用Memory Analyzer (MAT)分析内存溢出
java·jvm
嘴贱欠吻!1 小时前
JavaSE基础知识
java·开发语言
逝水如流年轻往返染尘1 小时前
Java输入输出
java·开发语言