美文网首页算法
算法 - 队列类型

算法 - 队列类型

作者: 羽晞yose | 来源:发表于2021-02-28 12:18 被阅读0次

队列

  • 一个先进先出的数据结构
  • javascript中没有队列,但可以用Array实现队列的所有功能

队列的应用场景

  • 需要先进先出的场景
  • 比如:食堂排队打饭、JS异步中的任务队列、计算最近请求次数

JS异步中的任务队列

异步队列
  • JS是单线程,无法同事处理异步中的并发任务
  • 使用任务队列先后处理异步任务

计算最近请求次数

leeCode第933题

  • 越早发出的请求越早不在最近3000ms内的请求里
  • 满足先进先出,考虑用队列

这题看到答案那么多人连题目都看不懂我就放心了。
条件就是第一个输入如果为ping,则将第二个输入当前时间毫秒数放进队列中。队列中小于当毫秒数的就出队列,当然题目假设全都是结果为ping(什么拍平啊,concat的全都不用),所以要做的就是将当前t - 3000毫秒外的踢出去,返回当前队列中的长度就行了,题目不难

const RecentCounter = function() {
    this.q = []
};

/** 
 * @param {number} t
 * @return {number}
 */
RecentCounter.prototype.ping = function(t) {
    this.q.push(t)
    while (this.q[0] < t -3000) {
        this.q.shift()
    }
    return this.q.length
};

/**
 * Your RecentCounter object will be instantiated and called as such:
 * var obj = new RecentCounter()
 * var param_1 = obj.ping(t)
 */

相关文章

  • 算法 - 队列类型

    队列 一个先进先出的数据结构 javascript中没有队列,但可以用Array实现队列的所有功能 队列的应用场景...

  • 多级队列调度算法

    多级队列调度算法将系统中不同类型或性质的就绪进程固定分配到不同的就绪队列中,每个就绪队列可以采用自己的调度算法;而...

  • (二十)x264_slicetype_analyse函数

    x264_slicetype_analyse对一个lookahead队列的帧类型进行分析,通过算法来决定每帧的类型...

  • 跟我一起学算法系列7---用两个栈实现队列

    1.题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 2.算法分析 ...

  • 算法学习笔记-基础开篇

    算法定义 基础问题 三种基础的抽象数据类型:背包、队列、栈 用数组、变长数组、链表实现背包、队列、栈的api。 数...

  • GCD的队列类型与NSOperationQueue的队列类型

    GCD的队列类型 并发队列自己创建的全局 串行队列主队列自己创建的 NSOperationQueue的队列类型 主...

  • 数组实现环形队列

    利用数组结构在队列的基础下用取模算法来实现环形队列。 环形队列拥有复用功能。 主要算法思想:1)front指向队列...

  • GCD多线程问题整理

    1.GCD队列有哪几种类型?有哪几种队列? GCD队列分为串行队列、并行队列两种类型;队列有主串行队列、全局并行队...

  • heapq : 堆队列算法

    heapq : 堆队列算法 Source code: Lib/heapq.py 介绍 这个模块提供了堆队列算法的实...

  • GCD简单使用

    队列类型 并发队列(Concurrent Dispatch Queue)任务并发(同步)执行 串行队列(Seria...

网友评论

    本文标题:算法 - 队列类型

    本文链接:https://www.haomeiwen.com/subject/facwfltx.html