力扣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;
      }
  };
相关推荐
wechatbot8882 分钟前
【企业通信】基于IPAD协议的企业微信群聊管理API:群操作功能接口设计与实现
java·ios·微信·企业微信·ipad
波哥学开发7 分钟前
深入解析 BEV 图像色彩调整与伪彩色映射:从直方图统计到着色器实现
算法·图形学
Java水解9 分钟前
阿里国际Java社招面经分享(附赠阿里Java面试题)
java·后端·面试
Nyarlathotep011316 分钟前
CyclicBarrier基础和原理
java·后端
西西弟16 分钟前
最短路径之Floyd算法(数据结构)
数据结构·算法
小O的算法实验室22 分钟前
2026年SEVC,直觉模糊不确定环境下求解绿色多物品固定费用五维运输问题的多目标进化算法,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
赫瑞23 分钟前
Java中的图论3 —— Floyd
java·开发语言·图论
海海不瞌睡(捏捏王子)33 分钟前
Unity A*寻路算法
算法·unity
程序员小寒35 分钟前
JavaScript设计模式(六):职责链模式实现与应用
java·javascript·设计模式
关于不上作者榜就原神启动那件事36 分钟前
@Transactional事务失效总结
java·开发语言·jvm