力扣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;
      }
  };
相关推荐
上弦月-编程几秒前
Java编程:跨平台开发利器
java·开发语言
AI人工智能+电脑小能手2 分钟前
【大白话说Java面试题】【Java基础篇】第38题:两个对象的hashCode()相同,则 equals()是否也一定为 true?
java·开发语言·后端·面试·hash-index
java1234_小锋3 分钟前
什么是可重入锁ReentrantLock?
java·开发语言
江南十四行9 分钟前
Java并发编程中的锁机制:synchronized与Lock详解
java·开发语言
SamDeepThinking10 分钟前
所有的框架源码,最怕的就是被debug
java·后端·程序员
汉克老师18 分钟前
GESP5级C++考试语法知识(十六、分治算法(三))
c++·算法·分治算法·汉诺塔·逆序对·gesp5级·gesp五级
V搜xhliang024620 分钟前
OpenClaw进阶完全教程
运维·人工智能·算法·microsoft·自动化
吴声子夜歌21 分钟前
Java——字符编码
java·字符编码·char
冷小鱼22 分钟前
多线程编程深度解析:Java与Python框架实战指南
java·开发语言·python·多线程
叼烟扛炮28 分钟前
C++ 知识点12 构造函数
开发语言·c++·算法·构造函数