Skip to content
DeepForgeby svx
All problems
MediumData Structuresds-236

Persistent Queue via Lists

Problem

Simulate persistent queue versions.

Version 0 is empty. operations contains ["enqueue", version, value], ["dequeue", version], or ["front", version]. enqueue and dequeue create a new version and record its id; front records the front value or None. Earlier versions must never change.

Return the list of recorded results.

Hint

The front of the queue is the first element of the copied version list.

Test cases

case 1
in: [["enqueue","enqueue","front","dequeue","front","front"],[[0,"a"],[1,"b"],1,2,3,2]]
expected: [1,2,"a",3,"b","a"]
case 2
in: [["front"],[0]]
expected: [null]
case 3
in: [["dequeue"],[0]]
expected: [1]
case 4
in: [["enqueue","front"],[[0,5],1]]
expected: [1,5]
Starter codePython
def persistent_queue_ops(operations, values):
    # Your code here
    pass

4 test cases · run your code against them in the editor