1import heapq
2
3class MaxPriorityQueue:
4 def __init__(self):
5 self._heap = []
6
7 def push(self, priority, item):
8 heapq.heappush(self._heap, (-priority, item))
9
10 def pop(self):
11 neg_priority, item = heapq.heappop(self._heap)
12 return -neg_priority, item
13
14# Task scheduler expecting smallest priority number first
15# Gets largest priority number instead
no lines flagged
#031PracticeMedium15 min · 120 XP
Min-Heap Comparator Inverted
A priority queue meant to always pop the smallest element actually returns the largest due to a comparator bug.
Flagged linesNo lines flagged yet
What's wrong?
Flag a line or write a note to submit.