All problems
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
pass4 test cases · run your code against them in the editor