网站怎么做外链接地址,网站建设的题目,广州网页模板建站,网站分几种2023-10-07每日一题
一、题目编号
901. 股票价格跨度二、题目链接
点击跳转到题目位置
三、题目描述
设计一个算法收集某些股票的每日报价#xff0c;并返回该股票当日价格的 跨度 。
当日股票价格的 跨度 被定义为股票价格小于或等于今天价格的最大连续日数#xff08…2023-10-07每日一题
一、题目编号
901. 股票价格跨度二、题目链接
点击跳转到题目位置
三、题目描述
设计一个算法收集某些股票的每日报价并返回该股票当日价格的 跨度 。
当日股票价格的 跨度 被定义为股票价格小于或等于今天价格的最大连续日数从今天开始往回数包括今天。
例如如果未来 7 天股票的价格是 [100,80,60,70,60,75,85]那么股票跨度将是 [1,1,1,2,1,4,6] 。
实现 StockSpanner 类
StockSpanner() 初始化类对象。int next(int price) 给出今天的股价 price 返回该股票当日价格的 跨度 。
示例
四、解题代码
class StockSpanner {
public:StockSpanner() {this-stk.emplace(-1, INT_MAX);this-idx -1;}int next(int price) {idx;while (price stk.top().second) {stk.pop();}int ret idx - stk.top().first;stk.emplace(idx, price);return ret;}private:stackpairint, int stk; int idx;
};
五、解题思路
(1) 单调栈