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

相关推荐
萑澈8 小时前
Windows 7 运行 Electron 安装包报“不是有效的 Win32 应用程序”怎么办
javascript·windows·electron
W.A委员会8 小时前
JS原型链详解
开发语言·javascript·原型模式
她说彩礼65万9 小时前
C# 实现简单的日志打印
开发语言·javascript·c#
房开民9 小时前
可变参数模板
java·开发语言·算法
_深海凉_9 小时前
LeetCode热题100-最小栈
java·数据结构·leetcode
不知名的忻9 小时前
Morris遍历(力扣第99题)
java·算法·leetcode·morris遍历
状元岐10 小时前
C#反射从入门到精通
java·javascript·算法
_深海凉_10 小时前
LeetCode热题100-除了自身以外数组的乘积
数据结构·算法·leetcode
a11177611 小时前
Three.js 的前端 WebGL 页面合集(日本 开源项目)
前端·javascript·webgl
Kk.080211 小时前
项目《基于Linux下的mybash命令解释器》(一)
前端·javascript·算法