1
# Runtime: 176 ms (Top 11.57%) | Memory: 14.6 MB (Top 46.27%)2
class FrontMiddleBackQueue:8
def _correct_size(self):9
while len(self.back) > len(self.front):10
self.front.append(self.back.popleft())12
while len(self.front) > len(self.back) + 1:13
self.back.appendleft(self.front.pop())15
def pushFront(self, val: int) -> None:16
self.front.appendleft(val)19
def pushMiddle(self, val: int) -> None:20
if len(self.front) > len(self.back):21
self.back.appendleft(self.front.pop())22
self.front.append(val)25
def pushBack(self, val: int) -> None:29
def popFront(self) -> int:30
front = self.front if self.front else self.back31
ret = front.popleft() if front else -135
def popMiddle(self) -> int:36
ret = self.front.pop() if self.front else -140
def popBack(self) -> int:41
back = self.back if self.back else self.front42
ret = back.pop() if back else -1