Design Circular Queue

Design a circular queue that supports enqueue, dequeue, front, rear, isEmpty, and isFull operations. Pattern focus: Circular Queue (Ring Buffer). Track head, tail, and size so that operations remain constant time.

Input Format

k = capacity, operations = list of queue commands with optional values

Output Format

results of the operations

Constraints

  • 1 <= input size <= 10^5
  • -10^9 <= numeric values <= 10^9
  • k, operations must satisfy the format described in inputFormat.

Examples

Example 1:

Input:

k = 3
operations = [["MyCircularQueue"],["enQueue","1"],["enQueue","2"],["enQueue","3"],["enQueue","4"],["Rear"],["isFull"],["deQueue"],["enQueue","4"],["Rear"]]

Output:

["null","true","true","true","false","3","true","true","true","4"]

Explanation:

CircularQueue of size 3: enqueue 1,2,3 (full), enqueue 4 fails, Rear=3, isFull=true, dequeue, enqueue 4, Rear=4

Example 2:

Input:

k = 2
operations = [["MyCircularQueue"],["enQueue","1"],["enQueue","2"],["deQueue"],["enQueue","3"],["Front"],["Rear"]]

Output:

["null","true","true","true","true","2","3"]

Explanation:

CircularQueue of size 2

Loading...
Design Circular Queue - Queue Deque DSA Problem