力扣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;
      }
  };
相关推荐
colicode1 分钟前
java短信接口开发对接全流程:Spring Boot项目集成短信功能详解
java·开发语言·spring boot
wasp5204 分钟前
拒绝 OOM:Apache Fesod 高性能 Excel 处理架构全景解析
算法·架构·apache·excel
爱吃生蚝的于勒5 分钟前
【Linux】进程信号的保存(二)
linux·运维·服务器·c语言·数据结构·c++·算法
HalvmånEver6 分钟前
Linux:线程的概念、与进程区别及内核实现(线程一)
java·linux·运维
晓13137 分钟前
第四章:Redis实战应用及常见问题(下篇)
java·数据库·缓存·wpf
量子炒饭大师7 分钟前
【C++入门】Cyber霓虹镜像城的跨域通行证 —— 【友元(friend)】跨类协作破坏封装性?友元函数与友元类为你架起特权桥梁!
java·开发语言·c++·友元函数·友元类·friend
diediedei8 分钟前
C++构建缓存加速
开发语言·c++·算法
油泼辣子多加10 分钟前
【信创】华为昇腾大模型部署
人工智能·算法·机器学习·华为
没有bug.的程序员10 分钟前
Spring Cloud Stream:消息驱动微服务的实战与 Kafka 集成终极指南
java·微服务·架构·kafka·stream·springcloud·消息驱动
{Hello World}11 分钟前
Java内部类:深入解析四大类型与应用
java·开发语言