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