901. 股票价格跨度(递减栈)
Posted vampire6
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了901. 股票价格跨度(递减栈)相关的知识,希望对你有一定的参考价值。
901. 股票价格跨度
class StockSpanner { public: StockSpanner() { } int next(int price) { int d=1; while(!value.empty()&&price>=value.top())//价格栈不为空且当前的价格大于等于价格栈的顶元素 { d+=get.top();//当前跨度为1加上跨度顶的元素 value.pop(); get.pop();//每个栈删去栈顶元素 } value.push(price);//每次存价格进去 get.push(d);//把对应的跨度存进去 return d; } private: stack<int>value; stack<int>get; }; /** * Your StockSpanner object will be instantiated and called as such: * StockSpanner* obj = new StockSpanner(); * int param_1 = obj->next(price); */
以上是关于901. 股票价格跨度(递减栈)的主要内容,如果未能解决你的问题,请参考以下文章