359. Logger Rate Limiter

   /*
     * 359. Logger Rate Limiter
     * 2016-7-14 by Mingyang
     * 很简单的HashMap,不详谈
     */
    class Logger {
        HashMap<String, Integer> map;
        /** Initialize your data structure here. */
        public Logger() {
            map = new HashMap<String, Integer>();
        }
        /**
         * Returns true if the message should be printed in the given timestamp,
         * otherwise returns false. If this method returns false, the message
         * will not be printed. The timestamp is in seconds granularity.
         */
        public boolean shouldPrintMessage(int timestamp, String message) {
            if (!map.containsKey(message)) {
                map.put(message, timestamp);
                return true;
            } else {
                int temp = map.get(message);
                if (timestamp - temp < 10) {
                    return false;
                } else {
                    map.put(message, timestamp);
                    return true;
                }
            }
        }
    }
时间: 2024-10-23 02:18:14

359. Logger Rate Limiter的相关文章

Leetcode 359: Logger Rate Limiter

Design a logger system that receive stream of messages along with its timestamps, each message should be printed if and only if it is not printed in the last 10 seconds. Given a message and a timestamp (in seconds granularity), return true if the mes

[LC] 359. Logger Rate Limiter

Design a logger system that receive stream of messages along with its timestamps, each message should be printed if and only if it is not printed in the last 10 seconds. Given a message and a timestamp (in seconds granularity), return true if the mes

Logger Rate Limiter -- LeetCode

Design a logger system that receive stream of messages along with its timestamps, each message should be printed if and only if it is not printed in the last 10 seconds. Given a message and a timestamp (in seconds granularity), return true if the mes

[LeetCode] Logger Rate Limiter 记录速率限制器

Design a logger system that receive stream of messages along with its timestamps, each message should be printed if and only if it is not printed in the last 10 seconds. Given a message and a timestamp (in seconds granularity), return true if the mes

LeetCode &quot;Logger Rate Limiter&quot;

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 timesta

Logger Rate Limiter

Design a logger system that receive stream of messages along with its timestamps, each message should be printed if and only if it is not printed in the last 10 seconds. Given a message and a timestamp (in seconds granularity), return true if the mes

Logger Rate Limiter 十秒限时计数器

[抄题]: [暴力解法]: 时间分析: 空间分析: [奇葩输出条件]: [奇葩corner case]: [思维问题]: [一句话思路]: [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入): [画图]: [一刷]: 没有考虑到更新的情况:0T-8F-11T-14F [二刷]: [三刷]: [四刷]: [五刷]: [五分钟肉眼debug的结果]: [总结]: [复杂度]:Time complexity: O() Space complexity: O(

RocksDB Rate Limiter源码解析

这次的项目我们重点关注RocksDB中的一个环节:Rate Limiter.其实Rate Limiter的思想在很多其他系统中也很常用. 在RocksDB中,后台会实时运行compaction和flush操作,这些都会对磁盘进行大量的写操作.可以通过Rate Limiter来控制最大写入速度的上限.因为在某些场景下,突发的大量写入会导致很大的read latency,从而影响系统性能. Rate Limiter的基本原理是令牌桶算法:系统每秒往桶里丢数量为1/QPS的令牌(满了为止),写请求只有

LeetCode Problems List 题目汇总

No. Title Level Rate 1 Two Sum Medium 17.70% 2 Add Two Numbers Medium 21.10% 3 Longest Substring Without Repeating Characters Medium 20.60% 4 Median of Two Sorted Arrays Hard 17.40% 5 Longest Palindromic Substring Medium 20.70% 6 ZigZag Conversion Ea