Front Middle Back Queue

Design a queue that supports push and pop operations at the front, middle, and back. Pattern focus: Circular Queue (Ring Buffer). Maintain a balanced split of the data so all operations stay efficient.

Input Format

operations = list of queue commands with optional values

Output Format

results returned by pop operations

Constraints

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

Examples

Example 1:

Input:

operations = [["FrontMiddleBackQueue"],["pushFront","1"],["pushBack","2"],["pushMiddle","3"],["pushMiddle","4"],["popFront"],["popMiddle"],["popMiddle"],["popBack"],["popFront"]]

Output:

[null,null,null,null,null,1,3,4,2,-1]

Explanation:

Front-Middle-Back Queue operations

Example 2:

Input:

operations = [["FrontMiddleBackQueue"],["pushBack","1"],["pushBack","2"],["popMiddle"],["popFront"]]

Output:

[null,null,null,1,2]

Explanation:

Simple push/pop operations

Loading...
Front Middle Back Queue - Queue Deque