这是因为python的heapq安全机制里,不允许入堆相同的元素。解决方法是入队元组,然后第二个设置一个索引
例如原来的入堆是heapq.heappush(heap,val)
改进后的入堆是
i += 1 heapq.heappush(heap,(val,i))
问题解决

这是因为python的heapq安全机制里,不允许入堆相同的元素。解决方法是入队元组,然后第二个设置一个索引
例如原来的入堆是heapq.heappush(heap,val)
改进后的入堆是
i += 1 heapq.heappush(heap,(val,i))
问题解决