思路:

  1. 单queue实现(敲击时间为单调递增)
  2. 使用pair<int,int>类型 first second 代替 map的计算功能

代码:


class HitCounter {private:queue<pair<int, int>> q;int sum;
public:HitCounter() {sum=0;}//指定时间敲击计数器void hit(int timestamp) {//重复敲击if(!q.empty() && q.back().first == timestamp) {q.back().second++;sum++;}//首次敲击else {q.push(make_pair(timestamp, 1));sum++;}}//返回过去5分钟内被敲击的次数int getHits(int timestamp) {//过期敲打次数移除while(!q.empty() && (timestamp - q.front().first >= 300)) {sum -= q.front().second;q.pop();}return sum;}
};

leetcode——362.敲击计数器相关推荐

  1. LeetCode 362. 敲击计数器(map)

    文章目录 1. 题目 2. 解题 1. 题目 设计一个敲击计数器,使它可以统计在过去5分钟内被敲击次数. 每个函数会接收一个时间戳参数(以秒为单位),你可以假设最早的时间戳从1开始,且都是按照时间顺序 ...

  2. LeetCode 362. 敲击计数器

    具体思想: 队列直接整: 具体代码: class HitCounter {public:HitCounter() {}void hit(int timestamp) {que.push(timesta ...

  3. LeetCode - 362 敲击计数器(设计)

    双端队列 class HitCounter {private Deque<Integer> deque;public HitCounter() {deque = new LinkedLis ...

  4. 362 敲击计数器

    题目描述: 设计一个敲击计数器,使它可以统计在过去5分钟内被敲击次数. 每个函数会接收一个时间戳参数(以秒为单位),你可以假设最早的时间戳从1开始,且都是按照时间顺序对系统进行调用(即时间戳是单调递增 ...

  5. ​LeetCode刷题实战362:敲击计数器

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  6. LeetCode-Python-362. 敲击计数器

    设计一个敲击计数器,使它可以统计在过去5分钟内被敲击次数. 每个函数会接收一个时间戳参数(以秒为单位),你可以假设最早的时间戳从1开始,且都是按照时间顺序对系统进行调用(即时间戳是单调递增). 在同一 ...

  7. 机试算法题-敲击计数器

    题目: 设计一个敲击计数器,使它可以统计在过去 5 分钟内被敲击次数.(即过去 300 秒) 您的系统应该接受一个时间戳参数 timestamp (单位为 秒 ),并且您可以假定对系统的调用是按时间顺 ...

  8. 【LeetCode - 362】敲击计数器

    文章目录 1.题目描述 2.解题思路 3.解题代码 1.题目描述 2.解题思路   使用一个队列用于存储敲击时的时间戳,定义一个变量 startIndex 作为队首元素值,即五分钟内的第一次敲击的时间 ...

  9. leetcode刷题目录总结

    题目 题目 技巧 相似的题目 其他 1. 无序数组中找出目标为target的两个数 先定义下一个数,然后找两位的数是否存在 高频, 大厂刷题班, 第27节 2.逆序链表两数相加 链表.各位加法 高频, ...

最新文章

  1. NSKeyedUnarchiver简单的数据存储
  2. linux 设置系统时间
  3. java手动输入函数_Java程序如何添加一个函数,如果玩家输入错误,它将返回代码。...
  4. propertychange input change
  5. 如何在Flutter上实现高性能的动态模板渲染
  6. android传感器实现摇一摇功能
  7. IntentService的使用介绍
  8. 普开数据第15届全国高校师资班(青海西宁)
  9. 重磅分享(二)——决策引擎实战部署
  10. ajax中json响应
  11. 2006中国最令人失望的十所大学
  12. 问题:C语言习题5.22 - 学生成绩的处理
  13. 《操作系统原理及应用》题库-选择题
  14. golang制作一个斗地主游戏服务器[5]:牌型
  15. 计算机资源管理菜单包括哪些,资源管理器文件菜单有哪些命令,资源管理器命令...
  16. 基于C语言设计的无边框背景透明窗体
  17. 支付宝api全(支付宝支付(app,h5,js),支付宝订单查询,支付宝退款,支付宝交易退款查询,支付宝提现,支付宝提现查询)
  18. 阿里云服务器ECS有哪些功能特性?
  19. JDBC-使用Statement操作数据库的弊端
  20. 地铁自动驾驶模型,地铁列车牵引系统整车模型。

热门文章

  1. Android美化EditText
  2. 启动本地mysql的几种方式
  3. refind 0.10.3 配置文件refind.conf简单分析
  4. 苹果cms简洁精美影视模板整站源码
  5. 原始集体主义、威权集体主义和敏捷集体主义
  6. java 获取时间的方法
  7. ESP8266 SmartConfig一键配网
  8. python中主函数循环_python入门(三):分支、循环、函数详解
  9. 【图基础】最佳入门课程:图卷积神经网络(中科院 计算所 沈华伟)
  10. 避坑:twilio+python+电话现在不可以使用(大陆)