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

相关推荐
九年义务漏网鲨鱼24 分钟前
蓝桥杯算法——状态压缩DP
算法·职场和发展·蓝桥杯
CappuccinoRose28 分钟前
MATLAB学习文档(二十八)
开发语言·学习·算法·matlab
柒儿吖42 分钟前
Electron for 鸿蒙PC 窗口问题完整解决方案
javascript·electron·harmonyos
Freedom_my1 小时前
插入排序算法
数据结构·算法·排序算法
952361 小时前
排序-算法
数据结构·算法·排序算法
WongKyunban1 小时前
插入排序的原理和示例
数据结构·算法·排序算法
flashlight_hi1 小时前
LeetCode 分类刷题:404. 左叶子之和
javascript·算法·leetcode
木易 士心1 小时前
th-table 中 基于双字段计算的表格列展示方案
前端·javascript·angular.js
小白程序员成长日记2 小时前
2025.11.19 力扣每日一题
算法·leetcode·职场和发展
toooooop82 小时前
uniapp多个页面监听?全局监听uni.$emit/$on
前端·javascript·uni-app