优先队列 · 入队 / 取最大
实现一个最大优先队列,处理命令流:
I x:插入整数xX:取出并打印当前最大值(保证调用时非空)
输入:第一行命令数 m;接着 m 行命令。
输出:每个 X 一行——被取出的最大值。
例:I 5 / I 1 / I 9 / X / I 3 / X → 9(最大)然后 5。
推荐用堆:
I和X都O(log n)。Python 的heapq是小根堆,存负数即可当大根堆。
实现一个最大优先队列,处理命令流:
I x:插入整数 xX:取出并打印当前最大值(保证调用时非空)输入:第一行命令数 m;接着 m 行命令。
输出:每个 X 一行——被取出的最大值。
例:I 5 / I 1 / I 9 / X / I 3 / X → 9(最大)然后 5。
推荐用堆:
I和X都O(log n)。Python 的heapq是小根堆,存负数即可当大根堆。