文章目录

  • 1. 题目
  • 2. 解题

1. 题目

请你设计一个日志系统,可以流式接收日志以及它的时间戳。

该日志会被打印出来,需要满足一个条件:当且仅当日志内容 在过去的 10 秒钟内没有被打印过。

给你一条日志的内容和它的时间戳(粒度为秒级),如果这条日志在给定的时间戳应该被打印出来,则返回 true,否则请返回 false。

要注意的是,可能会有多条日志在同一时间被系统接收。

示例:
Logger logger = new Logger();
// 日志内容 "foo" 在时刻 1 到达系统
logger.shouldPrintMessage(1, "foo"); returns true;
// 日志内容 "bar" 在时刻 2 到达系统
logger.shouldPrintMessage(2,"bar"); returns true;
// 日志内容 "foo" 在时刻 3 到达系统
logger.shouldPrintMessage(3,"foo"); returns false;
// 日志内容 "bar" 在时刻 8 到达系统
logger.shouldPrintMessage(8,"bar"); returns false;
// 日志内容 "foo" 在时刻 10 到达系统
logger.shouldPrintMessage(10,"foo"); returns false;
// 日志内容 "foo" 在时刻 11 到达系统
logger.shouldPrintMessage(11,"foo"); returns true;

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/logger-rate-limiter
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Logger {unordered_map<string,int> m;
public:/** Initialize your data structure here. */Logger() {}/** 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. */bool shouldPrintMessage(int timestamp, string message) {if(m.find(message) == m.end() || timestamp-m[message]>=10){m[message] = timestamp;return true;}elsereturn false;}
};

184 ms 32.2 MB


长按或扫码关注我的公众号,一起加油、一起学习进步!

LeetCode 359. 日志速率限制器(哈希map)相关推荐

  1. leetcode:359. 日志速率限制器

    题目来源 leetcode:359. 日志速率限制器 题目描述 请你设计一个日志系统,可以流式接收日志以及它的时间戳. 该日志会被打印出来,需要满足一个条件:当且仅当日志内容 在过去的 10 秒钟内没 ...

  2. LeetCode 1807. 替换字符串中的括号内容(哈希map)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串 s ,它包含一些括号对,每个括号中包含一个 非空 的键. 比方说,字符串 "(name)is(age)yearsold" ...

  3. LeetCode 336. 回文对(哈希map/Trie树)

    文章目录 1. 题目 2. 解题 2.1 哈希map 2.2 Trie树 1. 题目 给定一组唯一的单词, 找出所有不同 的索引对(i, j),使得列表中的两个单词, words[i] + words ...

  4. LeetCode 1166. 设计文件系统(哈希map)

    文章目录 1. 题目 2. 解题 1. 题目 你需要设计一个能提供下面两个函数的文件系统: create(path, value): 创建一个新的路径,并尽可能将值 value 与路径 path 关联 ...

  5. LeetCode 244. 最短单词距离 II(哈希map+set二分查找)

    文章目录 1. 题目 2. 解题 2.1 暴力超时 2.2 哈希表+set二分查找 1. 题目 请设计一个类,使该类的构造函数能够接收一个单词列表. 然后再实现一个方法,该方法能够分别接收两个单词 w ...

  6. LeetCode 1218. 最长定差子序列(哈希map)

    1. 题目 给你一个整数数组 arr 和一个整数 difference,请你找出 arr 中所有相邻元素之间的差等于给定 difference 的等差子序列,并返回其中最长的等差子序列的长度. 示例 ...

  7. LeetCode 1311. 获取你好友已观看的视频(BFS+哈希map+vector排序)

    1. 题目 有 n 个人,每个人都有一个 0 到 n-1 的唯一 id . 给你数组 watchedVideos 和 friends ,其中 watchedVideos[i] 和 friends[i] ...

  8. LeetCode 205. 同构字符串(哈希map)

    1. 题目 给定两个字符串 s 和 t,判断它们是否是同构的. 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的. 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序. 两个字符 ...

  9. LeetCode 1348. 推文计数(哈希map+set)

    1. 题目 请你实现一个能够支持以下两种方法的推文计数类 TweetCounts: recordTweet(string tweetName, int time) 记录推文发布情况:用户 tweetN ...

最新文章

  1. 在CentOS 6.9 x86_64的nginx 1.12.2上开启ngx_req_status模块实录
  2. java能不能修改文件大小信息,更改最大上传文件大小
  3. shell学习(12)- jq
  4. Digital Text Animations for Mac - 未来感活力全屏标题动画fcpx插件
  5. webpack项目搭建
  6. LeetCode-83: 删除排序链表中的重复元素
  7. windows nginx 停止和启动_nginx在window与linux中启动、停止、与关闭
  8. 【CCCC】L3-011 直捣黄龙 (30分),Dijkstra维护点权,节点数,路径条数等+路径打印
  9. 零基础编译ffmpeg到wasm
  10. ubuntu 开启dhcp服务并配置
  11. 每日算法系列【LeetCode 329】矩阵中的最长递增路径
  12. 全网首发:JAVA中的+=,会直接把float赋值给int变量,编译器不报错
  13. win10安装、卸载、升级tensorflow命令
  14. Eyoucms易优小程序插件2.0版本上线
  15. 一键删除PPT页面内的动画or页面的切换效果总结
  16. 依分布收敛的定义细节
  17. Android应用去广告方法盘点
  18. 开关电源正负极两端加104电容的作用是什么?
  19. 快速入门:Excel中如何按照多个字段排序
  20. 软件设计 -- 数据流图,数据字典,ER图

热门文章

  1. 【机器学习】sklearn实现---归类为5大类
  2. MySQL 为什么用索引,为什么是 B+树,怎么用索引
  3. C语言里if语句变量作为判断条件,C语言教学(九-上)if else判断语句
  4. 平衡二叉查找树插入节点操作( AVLTree ):旋转、调整平衡
  5. 心得 : 面向对象和面向过程的区别【分享】
  6. ZOJ 1004 Anagrams by Stack(DFS+数据结构)
  7. CouchDB与Couchbase:区别何在,Membase又将如何?
  8. 新浪微博数据网络舆情分析客户端软件
  9. 网络数据的背后-网络日志的分析指标【转】
  10. 嵌入式软件开发注意事项一