力扣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;
      }
  };
相关推荐
骇客野人7 小时前
Java SSO 统一认证方案
java·开发语言
START_GAME8 小时前
MSSQL$SQL2016
java·服务器·前端
疯狂打码的少年8 小时前
【数据结构】图的遍历:深度优先搜索(DFS)
数据结构·笔记·算法·深度优先
ydd1001008 小时前
字符串转换整数
java
会编程的吕洞宾8 小时前
DeepAgents In Action学习(Second)
android·java·学习
梦梦代码精8 小时前
基于UniApp+Vue3+ThinkPHP 8,这套知识付费系统的架构设计有点东西
java·低代码·docker·uni-app·开源·php
-凌凌漆-8 小时前
【freertos】Task创建(v2)
java·开发语言·算法
牛油果子哥q9 小时前
C++内存模型与深浅拷贝万字详解:栈堆静态内存布局、深浅拷贝底层差异、内存泄漏根治、拷贝崩溃踩坑、手写深拷贝实战
java·开发语言·c++
Nil2089 小时前
leetcode 24两两交换链表中的节点
算法·leetcode·链表