力扣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;
      }
  };
相关推荐
SamDeepThinking7 小时前
如何理解 Spring 当中的 Bean?
java·后端·面试
kronos.荒7 小时前
动态规划——整数拆分(python)
python·算法·动态规划
敖正炀7 小时前
阻塞队列-0-3-最佳实践
java
kevinzeng7 小时前
Java Stream 流式编程 10天系统学习计划
java
摇滚侠7 小时前
Java 零基础全套视频教程,面向对象(进阶),笔记 90-103
java·开发语言·笔记
椰羊~王小美7 小时前
C、Java、Go、Python 对比
java·c语言
cici158747 小时前
基于Koopman模型预测控制的非线性流控制数据驱动框架
算法
Gerardisite7 小时前
企业微信自动化开发新思路: RPA 接入方案
java·python·自动化·企业微信·rpa
6Hzlia7 小时前
【Hot 100 刷题计划】 LeetCode 416. 分割等和子集 | C++ 0-1背包 1D空间极致优化
c++·算法·leetcode
小谢小哥7 小时前
49-缓存一致性详解
java·后端·架构