首页 > 其他 > 详细

901. 股票价格跨度(递减栈)

时间:2020-06-13 23:14:57      阅读:72      评论:0      收藏:0      [点我收藏+]

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. 股票价格跨度(递减栈)

原文:https://www.cnblogs.com/Vampire6/p/13121944.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!