美文网首页
队列 js版

队列 js版

作者: 两朵小黑云 | 来源:发表于2020-07-28 16:40 被阅读0次

    队列

    写在前面:还没想好写啥。

    1.什么是队列?

    • 一个先进先出的数据结构
    • javascript中其实是没有队列的,但是你可以用Array来实现其所有功能 (push入队 shift出队)

    2.有什么用?

    • 没用!!!
    • 解决诸如 食堂排队打饭 最近请求次数
      不扯,直接干
      LeetCode#933 最近的请求次数
      leetcode的题目描述有些晦涩难懂,我有必要翻译成人话;
      题目大意:现在你有个请求队列,t毫秒后你将push进去一个请求,t-3000以前的请求将被干掉,求现在队列里有几个请求?
      或者你这么理解:t代表这个员工的工号,每次新员工t加入q公司前先把工号小于t -3000的老家伙都辞退,然后再让t入职,统计q公司现有几个员工
    class RecentCounter{
        constructor() {
            this.q = [];
        }
        ping (t){
            this.q.push(t); // 入队
            while (this.q[0] < t - 3000){
                this.q.shift() // 出队
            }
            return this.q.length;
        }
    }
    

    不会有童鞋看不懂es6写法吧,不会吧,不会吧,啊sir
    好的吧,es5写法参上

    var RecentCount = function(){
        this.q = [];
    };
    RecentCount.prototype.ping = function(t) {
        this.q.push(t);
        while(this.q[0] < t - 3000) {
          this.q.shift();
        }
        return this.q.length;
    }
    

    javascript版数据结构与算法将系列 持续更新中

    相关文章

      网友评论

          本文标题:队列 js版

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