力扣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;
      }
  };
相关推荐
言乐613 小时前
Python实现建造微服务商城后台
开发语言·python·算法·微服务·架构
NiceCloud喜云13 小时前
Anthropic 一周三连发:Cowork 多端、Fable 5 按需付费、J-space 论文的技术解读
java·服务器·网络·人工智能·ai
凉云生烟13 小时前
机器学习 02- KNN算法
人工智能·算法·机器学习
wabs66613 小时前
关于动态规划【力扣583.两个字符串的删除操作的思考】
算法·leetcode·动态规划
SamDeepThinking13 小时前
组合还是继承?我在项目里主要看这两个判断
java·后端·面试
可编程芯片开发13 小时前
空气流量和空气压力参数解耦系统simulink建模与仿真
算法
momo14 小时前
JAVA基础知识
java·开发语言
_Doubletful14 小时前
妙用位运算:解构汉明距离至100%(提供分析与多解)
c语言·算法·leetcode
凯瑟琳.奥古斯特14 小时前
力扣1013三等分解法与C++实现
开发语言·c++·算法·leetcode·职场和发展
Keven_1114 小时前
AcWing算法提高课思路速查:搜索
算法·搜索