Queue Using Class
JavaScript
Medium
3 views
Problem Description
Implement a queue with methods enqueue, dequeue, size. Process commands: ENQ x, DEQ, SIZE. Print outputs of DEQ and SIZE.
Input Format
First line q. Next q lines commands.
Output Format
Outputs line by line.
Sample Test Case
Input:
6
ENQ 10
ENQ 20
SIZE
DEQ
DEQ
DEQ
Official Solution
const fs=require('fs');const lines=fs.readFileSync(0,'utf8').trim().split(/\
?\
/);if(!lines[0])process.exit(0);class Queue{constructor(){this.a=[];this.h=0;}enqueue(x){this.a.push(x);}dequeue(){if(this.h>=this.a.length)return null;const v=this.a[this.h++];if(this.h>10000){this.a=this.a.slice(this.h);this.h=0;}return v;}size(){return this.a.length-this.h;}}const q=Number(lines[0]);const qu=new Queue();const out=[];for(let i=1;i<=q;i++){const parts=lines[i].trim().split(/\\s+/);if(parts[0]==='ENQ')qu.enqueue(parts[1]);else if(parts[0]==='DEQ'){const v=qu.dequeue();out.push(v===null?'EMPTY':String(v));}else if(parts[0]==='SIZE')out.push(String(qu.size()));}process.stdout.write(out.join('\
'));
Solutions (0)
No solutions submitted yet. Be the first!
No comments yet. Start the discussion!