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();
    



后续学习这个系列,没接触过,很新奇:
本题题解:宫水三叶题解-线段树(动态开点)运用题
本题涉及「单点修改」和「区间查询」,根据 宫水三叶题解-关于各类「区间和」问题如何选择解决方案(含模板) 的总结,可以使用「树状数组」和「线段树」进行求解。

307. 区域和检索 - 数组可修改

以上是关于LeetCode 五月打卡-day06的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 五月打卡-day11

LeetCode 五月打卡-day01

LeetCode 五月打卡-day19

LeetCode 五月打卡-day07

LeetCode 五月打卡-day20

LeetCode 五月打卡-day08