
Problem
Solution
Submissions
Queue using Arrays
Certification: Basic Level
Accuracy: 0%
Submissions: 0
Points: 8
Write a JavaScript program to implement a Queue data structure using arrays. The queue should support basic operations like enqueue (add element), dequeue (remove element), front (get front element), and isEmpty (check if queue is empty).
Example 1
- Input: Operations: ["enqueue", "enqueue", "front", "dequeue", "isEmpty"], Values: [1, 2, null, null, null]
- Output: [null, null, 1, 1, false]
- Explanation:
- enqueue(1) - Add 1 to the queue. Queue: [1].
- enqueue(2) - Add 2 to the queue. Queue: [1, 2].
- front() - Return front element which is 1.
- Queue: [1, 2]. dequeue() - Remove and return front element 1.
- Queue: [2]. isEmpty() - Check if queue is empty.
- Returns false since queue has element 2.
- enqueue(1) - Add 1 to the queue. Queue: [1].
Example 2
- Input: Operations: ["enqueue", "dequeue", "isEmpty", "front"], Values: [5, null, null, null]
- Output: [null, 5, true, null]
- Explanation:
- enqueue(5) - Add 5 to the queue.
- Queue: [5]. dequeue() - Remove and return front element 5.
- Queue: []. isEmpty() - Check if queue is empty.
- Returns true since queue is empty.
- front() - Try to get front element of empty queue.
- Returns null or undefined.
- enqueue(5) - Add 5 to the queue.
Constraints
- 1 ≤ operations.length ≤ 1000
- -1000 ≤ value ≤ 1000 for enqueue operations
- At most 300 calls will be made to enqueue and dequeue
- All operations are valid (no dequeue or front on empty queue)
- Time Complexity: O(1) for all operations
- Space Complexity: O(n) where n is number of elements
Editorial
My Submissions
All Solutions
Lang | Status | Date | Code |
---|---|---|---|
You do not have any submissions for this problem. |
User | Lang | Status | Date | Code |
---|---|---|---|---|
No submissions found. |
Solution Hints
- Use an array to store queue elements and maintain front and rear pointers
- Enqueue operation adds element at the rear of the queue
- Dequeue operation removes element from the front of the queue
- Keep track of the size of the queue for isEmpty operation
- Handle edge cases like empty queue for front and dequeue operations
- Consider using circular array approach for better space utilization