首页 > 其他 > 详细

LeetCode "Logger Rate Limiter"

时间:2016-06-17 06:16:51      阅读:407      评论:0      收藏:0      [点我收藏+]

Queue + hashset

class Logger {
    typedef pair<string, int> Rec;
    queue<Rec> q;
    unordered_set<string> hs;
public:
    /** Initialize your data structure here. */
    Logger() {
        
    }
    
    /** Returns true if the message should be printed in the given timestamp, otherwise returns false. The timestamp is in seconds granularity. */
    bool shouldPrintMessage(int timestamp, string message) 
    {
        while(!q.empty() && (timestamp - q.front().second) >= 10)
        {
            hs.erase(q.front().first);
            q.pop();
        }
        
        if(hs.find(message) != hs.end()) return false;
        
        q.push({message, timestamp});
        hs.insert(message);
        
        return true;
    }
};

LeetCode "Logger Rate Limiter"

原文:http://www.cnblogs.com/tonix/p/5592683.html

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