Skip to content
DeepForgeby svx
All problems
EasyData Structuresds-193

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
    pass

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