刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

快速堆猪
小明有很多猪,他喜欢玩叠猪游戏,就是将猪一头头叠起来。猪叠上去后,还可以把顶上的猪拿下来。小明知道每头猪的重量,而且他还随时想知道叠在那里的猪最轻的是多少斤。
时间限制:1000
内存限制:65536
输入
有三种输入 1)push n n是整数(0<=0 <=20000),表示叠上一头重量是n斤的新猪 2)pop 表示将猪堆顶的猪赶走。如果猪堆没猪,就啥也不干 3)min 表示问现在猪堆里最轻的猪多重。如果猪堆没猪,就啥也不干 输入总数不超过100000条
输出
对每个min输入,输出答案。如果猪堆没猪,就啥也不干
样例输入

pop
min
push 5
push 2
push 3
min
push 4
min

样例输出

2
2

使用微信搜索喵呜刷题,轻松应对考试!

答案:

解析:

【喵呜刷题小喵解析】这个题目要求实现一个模拟叠猪的游戏,可以添加猪、移除猪顶的猪以及查询当前最轻的猪的重量。我们可以使用Python的heapq库来实现这个功能。在这个程序中,我们使用了Python的heapq库来创建一个最小堆,堆中的元素是猪的重量,但我们在添加猪到堆中时,使用的是猪的负重量,这样最轻的猪就会位于堆顶。我们定义了三个函数:* `push(weight)`:接收一个猪的重量作为参数,如果重量非负,则将其添加到堆中。* `pop()`:从堆中移除并返回堆顶的猪的重量,如果堆为空,则不执行任何操作。* `min()`:返回当前堆中最轻的猪的重量,如果堆为空,则返回None。在主程序中,我们不断从标准输入读取命令,并根据命令执行相应的操作。如果命令是'pop',则调用`pop()`函数;如果命令是'min',则调用`min()`函数并打印结果;如果命令是'push',则读取猪的重量并调用`push()`函数。如果命令不是上述三种之一,则退出程序。
创作类型:
原创

本文链接:快速堆猪 小明有很多猪,他喜欢玩叠猪游戏,就是将猪一头头叠起来。猪叠上去后,还可以把顶上的猪拿下来。

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share