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

相关推荐
952361 分钟前
数据结构-堆
java·数据结构·学习·算法
吃着火锅x唱着歌5 分钟前
LeetCode 面试题 16.24.数对和
算法·leetcode·职场和发展
不会编程的小寒6 分钟前
数据结构 2.0
数据结构·算法
专注VB编程开发20年11 分钟前
图片转矢量图(提取轮廓线条)Potrace:一个基于多边形的位图轮廓矢量化算法(translation)
算法·图片转矢量
Dream it possible!34 分钟前
LeetCode 面试经典 150_二叉树层次遍历_二叉树的层平均值(82_637_C++_简单)
c++·leetcode·面试·二叉树
小羊失眠啦.34 分钟前
Rust核心库(core)深度解析:无依赖基石的设计与实践
数据库·算法·rust
Wenhao.36 分钟前
LeetCode Hot100 每日温度
数据结构·算法·leetcode·golang
吃着火锅x唱着歌39 分钟前
LeetCode 1679.K和数对的最大数目
算法·leetcode·职场和发展
im_AMBER40 分钟前
Leetcode 57
笔记·学习·算法·leetcode
im_AMBER41 分钟前
Leetcode 58 | 附:滑动窗口题单
笔记·学习·算法·leetcode