【LeetCode每日一题】单调栈 901股票价格跨度

901. 股票价格跨度思路

设计一个算法收集某些股票的每日报价,并返回该股票当日价格的 跨度

当日股票价格的 跨度 被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,包括今天)。

  • 例如,如果未来 7 天股票的价格是 [100,80,60,70,60,75,85],那么股票跨度将是 [1,1,1,2,1,4,6]

实现 StockSpanner 类:

  • StockSpanner() 初始化类对象。
  • int next(int price) 给出今天的股价 price ,返回该股票当日价格的 跨度

从数组的左边找出等于或小于今天的股票的连续个数。

stack = [] 100 入栈, 80 ,80<100 ? 100 弹出。80 入栈,return stack.length

60 60<80? 80弹出,60入栈,return 1

70 70<60 ? No ⇒ 70,70入栈,return2,

60 60<70 ? yes while stack>0,70出栈,60入栈,return 1.

相关推荐
Wang20122013几秒前
LSTM和Transformer对比
人工智能·算法·架构
KingRumn5 分钟前
Linux进程间通信之D-Bus
linux·算法
fufu03117 分钟前
Linux环境下的C语言编程(四十九)
linux·c语言·算法
C_心欲无痕11 分钟前
react - 组件之间的通信
前端·javascript·react.js
Lupino13 分钟前
Node.js 与 Haskell 混合网络编程踩坑记:TCP 粘包与状态不一致引发的“死锁”
javascript·node.js
YGGP14 分钟前
【Golang】LeetCode198. 打家劫舍
算法·leetcode
啊阿狸不会拉杆16 分钟前
《数字图像处理》实验6-图像分割方法
图像处理·人工智能·算法·计算机视觉·数字图像处理
YGGP17 分钟前
【Golang】LeetCode 152. 乘积最大子数组
算法·leetcode
走粥19 分钟前
JavaScript Promise
开发语言·前端·javascript
爱学大树锯22 分钟前
171 · 乱序字符串
算法