力扣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 分钟前
Kubernetes 节点安全维护全流程:从驱逐 Pod 到彻底清理残留
java·安全·云原生·容器·kubernetes
Tisfy7 分钟前
LeetCode 1339.分裂二叉树的最大乘积:深度优先搜索(一次DFS+存数组并遍历)
算法·leetcode·深度优先·题解
disgare10 分钟前
关于分布式系统 RPC 中高可用功能的实现
java·分布式
csdn_aspnet13 分钟前
MATLAB 高效算法实战:数据分析与算法优化的效率秘诀
算法·matlab·数据分析
budingxiaomoli13 分钟前
优选算法--链表
数据结构·算法·链表
温柔的小猪竹14 分钟前
面向对象的六大原则
java
洛小豆17 分钟前
孤儿资源治理:如何优雅处理“上传了但未提交”的冗余文件?
java·后端·面试
a努力。19 分钟前
中国电网Java面试被问:分布式缓存的缓存穿透解决方案
java·开发语言·分布式·缓存·postgresql·面试·linq
草莓熊Lotso19 分钟前
脉脉独家【AI创作者xAMA】| 开启智能创作新时代
android·java·开发语言·c++·人工智能·脉脉