首页 > 其他分享 >901. 股票价格跨度

901. 股票价格跨度

时间:2022-10-21 10:01:39浏览次数:67  
标签:901 栈顶 股票价格 价格 跨度 单调

901. 股票价格跨度

编写一个 StockSpanner 类,它收集某些股票的每日报价,并返回该股票当日价格的跨度。

今天股票价格的跨度被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,包括今天)。

例如,如果未来7天股票的价格是 [100, 80, 60, 70, 60, 75, 85],那么股票跨度将是 [1, 1, 1, 2, 1, 4, 6]。

题目链接

单调栈

单调递增栈:单调递增栈就是从栈底到栈顶数据是从大到小
单调递减栈:单调递减栈就是从栈底到栈顶数据是从小到大

stack<int> st;
//此处一般需要给数组最后添加结束标志符,具体下面例题会有详细讲解
for (遍历这个数组)
{
	if (栈空 || 栈顶元素大于等于当前比较元素)
	{
		入栈;
	}
	else
	{
		while (栈不为空 && 栈顶元素小于当前元素)
		{
			栈顶元素出栈;
			更新结果;
		}
		当前数据入栈;
	}
}

根据题目描述,我们可以知道,对于当日价格 price,从这个价格开始往前找,找到第一个比这个价格大的价格,这两个价格的下标差 cnt 就是当日价格的跨度。

class StockSpanner {
public:
    stack<pair<int,int>>s;

    StockSpanner() {
        while(!s.empty())
            s.pop();
    }
    
    int next(int price) {
        int cnt=1;
        while(!s.empty()&&s.top().first<=price){
            cnt+=s.top().second;
            s.pop();
        }
        s.push({price,cnt});
        return cnt;
    }
};

标签:901,栈顶,股票价格,价格,跨度,单调
From: https://www.cnblogs.com/SkyDusty/p/16812493.html

相关文章

  • P1901 发射站
    发射站题目描述某地有\(N\)个能量发射站排成一行,每个发射站\(i\)都有不相同的高度\(H_i\),并能向两边(两端的发射站只能向一边)同时发射能量值为\(V_i\)的能量,发出的......
  • noi 1.5 6 整数序列的元素最大跨度值
     描述给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值=最大值减去最小值)。输入输入一共2行,第一行为序列的个数n(1<=n<=1000),第二行为序列的n个......
  • [ds 记录]P5901 [IOI2009]Regions
    这道题的难点,恐怕在复杂度分析(link首先我们可以自由选择把询问放到上面或下面。放到上面,等价于对每个点求其子树内有多少某颜色的点;放到下面,等价于对每个点求其祖先中有......
  • P1901 发射站
    \(O(n)\)#include<bits/stdc++.h>usingnamespacestd;intn;intq[1000001];intf[1000001];inta[1000001];intb[1000001];inthead,tail;intmain(){ cin>>......
  • 9012 年了,还在抄,我应该高兴,还是高兴,还是高兴
    废话不说,某公众号的文字(注和人家没有关系,人家是转载)平时经常会阅读某些“大牌”的公众号,来增加自己的知识,早上就看到一篇文字,“一文告诉你全世界顶级的开发者都在用什么数据......
  • HR-901FH卫星信号安全防护装置-授时安全防护装置
    HR-901FH卫星信号安全防护装置-授时安全防护装置HR-901FH卫星信号安全防护装置-授时安全防护装置京准电子科技官微——ahjzsz产品简介HR-901FH卫星时空防护装置基于......
  • SP500 指数预测 — 使用雅虎股票价格进行时间序列预测。
    SP500指数预测—使用雅虎股票价格进行时间序列预测。项目深网在实现赫蒂克学校硕士IDATA&AI作者:茴香AKEB项目经理:FadiElCheikhTaha和鲁迈萨·奥......
  • 归档 220901 | 梅开四度:初等数论 - 整除,同余,排列组合
    致敬经典:数↗学,能够使我的灵↗魂↗得到升↗华↘。证明:任意奇数的平方减\(1\)是\(8\)的倍数。设该奇数为\(2n+1\),则:\[\begin{aligned}(2n+1)^2-1&=......
  • 《GB27901-2011》PDF下载
    《GB27901-2011移动式消防排烟机》PDF下载《GB27901-2011》简介本标准规定了移动式消防排烟机的术语和定义、型号、技术要求、试验方法、检验规则以及标志、包装、贮存......