力扣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;
      }
  };
相关推荐
歌_顿5 分钟前
知识蒸馏学习总结
人工智能·算法
浩瀚地学8 分钟前
【Java】常用API(二)
java·开发语言·经验分享·笔记·学习
圣保罗的大教堂35 分钟前
leetcode 1161. 最大层内元素和 中等
leetcode
闲看云起37 分钟前
LeetCode-day6:接雨水
算法·leetcode·职场和发展
没学上了1 小时前
VLM_一维离散卷积与二维离散卷积(还是复习感觉还行)
算法
hashiqimiya1 小时前
springboot事务触发滚动与不滚蛋
java·spring boot·后端
黛色正浓1 小时前
leetCode-热题100-贪心合集(JavaScript)
javascript·算法·leetcode
PPPHUANG1 小时前
一次 CompletableFuture 误用,如何耗尽 IO 线程池并拖垮整个系统
java·后端·代码规范
轻微的风格艾丝凡1 小时前
嵌入式定时器计时技巧:用有符号数省略溢出判断的底层逻辑与实践
数据库·算法·dsp开发·嵌入式软件