想要获得Python中使用heapq的最小堆元素,下面是我的代码,我想知道使用h[0]是正确的方法还是更优雅的heapq公共API?我试图找到有一个API来获取堆的最小元素,但找不到它。你知道吗
顺便说一句,使用python2。你知道吗
import heapq
def heapMin(iterable):
h = []
for value in iterable:
heapq.heappush(h, value)
return h[0]
if __name__ == "__main__":
print heapMin([1, 3, 5, 7, 9, 2, 4, 6, 8, 0])
提前谢谢, 林
把你的iterable列表一次性转换成一堆,用这个。不要循环,使用
heapify()
函数,heappop(iterable)
应该返回第一个索引(最少的数字)相关问题 更多 >
编程相关推荐