All problems
Deque with Max Maintenance
Problem
Simulate a deque that also reports its maximum element.
operations contains "push_front", "push_back", "pop_front", "pop_back", or "get_max"; values provides pushed values. Pops return the removed value or None when empty, and get_max returns the current maximum or None.
Return the list of recorded results (None for pushes).
Hint
Remember that push_front and push_back place values at opposite ends.
Test cases
case 1
in: [["push_back","push_front","get_max","pop_back","get_max"],[3,5,0,0,0]]
expected: [null,null,5,3,5]
case 2
in: [["get_max","pop_front"],[0,0]]
expected: [null,null]
case 3
in: [["push_back","push_back","pop_front","get_max"],[1,9,0,0]]
expected: [null,null,1,9]
case 4
in: [["push_front","get_max"],[7,0]]
expected: [null,7]
Starter codePython
def deque_max_ops(operations, values):
# Your code here
pass4 test cases · run your code against them in the editor