力扣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;
      }
  };
相关推荐
小雅痞1 天前
[Java][Leetcode hard] 30. 串联所有单词的子串
java·leetcode
khalil10201 天前
代码随想录算法训练营Day-43 动态规划10 | 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组
数据结构·c++·算法·leetcode·动态规划·子序列问题
钝挫力PROGRAMER1 天前
static final 指向可变集合的设计模式
java·设计模式
AIpanda8881 天前
数字员工助推AI销冠系统和AI提效软件系统,实现企业智能化转型与运营效率提升
算法
青山师1 天前
Java反射深度解析:运行时探查的艺术、代价与工程实践
java·开发语言·面试·反射·java程序员·java核心
安当加密1 天前
Spring Boot应用接入国产安当凭据管理系统SMS Starter实战(附源码)
java·spring boot·后端
skilllite作者1 天前
Deer-Flow 工作流引擎深度评测报告
java·大数据·开发语言·chrome·分布式·架构·rust
likerhood1 天前
Java的TimeUnit详细讲解
java·开发语言
2401_897190551 天前
【C++高阶系列】告别内查找局限:基于磁盘 I/O 视角的 B 树深度剖析与 C++ 泛型实现!
java·c++·算法
摇滚侠1 天前
Java 项目教程《黑马商城》微服务拆分 20 - 22
java·分布式·架构