LeetCode 五月打卡-day06
Posted 王六六的IT日常
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 五月打卡-day06相关的知识,希望对你有一定的参考价值。
933. 最近的请求次数
参考大佬的题解:添加链接描述
使用队列实现请求时间序列,在构造方法中初始化队列
class RecentCounter
static final int RANGE = 3000;
Queue<Integer> queue;
public RecentCounter()
queue = new ArrayDeque<Integer>();
public int ping(int t)
//队列不为空且队首元素距离当前请求时间超过3000 毫秒,则将队首元素出队列
while (!queue.isEmpty() && queue.peek() < t - RANGE)
queue.poll();
//队列变为空或者队首元素距离当前请求时间不超过 3000 毫秒,然后将当前请求时间入队列
queue.offer(t);
//队列内的元素个数即为过去 3000 毫秒内发生的所有请求数,返回队列内的元素个数
return queue.size();
class RecentCounter
Queue<Integer> queue;
public RecentCounter()
queue = new ArrayDeque<Integer>();
public int ping(int t)
queue.offer(t);
while (queue.peek() < t - 3000)
queue.poll();
return queue.size();
后续学习这个系列,没接触过,很新奇:
本题题解:宫水三叶题解-线段树(动态开点)运用题
本题涉及「单点修改」和「区间查询」,根据 宫水三叶题解-关于各类「区间和」问题如何选择解决方案(含模板) 的总结,可以使用「树状数组」和「线段树」进行求解。
以上是关于LeetCode 五月打卡-day06的主要内容,如果未能解决你的问题,请参考以下文章