【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.

相关推荐
云泽808几秒前
蓝桥杯算法精讲:前缀和与差分算法的应用与实战
算法·职场和发展·蓝桥杯
Swift社区几秒前
LeetCode 444 - 序列重建
算法·leetcode·蓝桥杯
学Linux的语莫1 分钟前
Vue前端知识
前端·javascript·vue.js
BUG创建者2 分钟前
thee.js完成线上展厅demo
开发语言·前端·javascript·css·html·css3·three.js
NaturalHarmonia2 分钟前
UIE信息抽取模型指代消解实战教程(extra)
人工智能·算法
Eloudy4 分钟前
jacobi solver 迭代算法
人工智能·算法·机器学习
黑衣李4 分钟前
csp-2019 选择题第十题
算法
2401_860319525 分钟前
【精通篇】打造React Native鸿蒙跨平台开发高级复合组件库开发系列:SwipeCell 滑动单元格(可以左右滑动来展示操作按钮的单元格组件)
javascript·react native·ecmascript
LYFlied6 分钟前
前端开发者需要掌握的编译原理相关知识及优化点
前端·javascript·webpack·性能优化·编译原理·babel·打包编译