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

相关推荐
vyuvyucd18 小时前
C++排序算法全解析
java·数据结构·算法
胡萝卜不甜18 小时前
算法宗门---迪杰斯特拉Dijkstra(最短路径算法)
算法
Van_captain18 小时前
rn_for_openharmony常用组件_Breadcrumb面包屑
javascript·开源·harmonyos
练习时长一年18 小时前
LeetCode热题100(爬楼梯)
算法·leetcode·职场和发展
静听松涛13318 小时前
提示词注入攻击的防御机制
前端·javascript·easyui
朔北之忘 Clancy19 小时前
2020 年 6 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·算法·青少年编程·题解
_codemonster19 小时前
计算机视觉入门到实战系列(九) SIFT算法(尺度空间、极值点判断)
深度学习·算法·计算机视觉
梭七y19 小时前
【力扣hot100题】(133)LRU缓存
leetcode·缓存·哈希算法
澄江静如练_19 小时前
优惠券提示文案表单项(原生div写的)
前端·javascript·vue.js
C_心欲无痕19 小时前
ts - 关于Object、object 和 {} 的解析与区别
开发语言·前端·javascript·typescript