标签:font 数据结构 删除 实现 lin 结构 div solution push
堆是一个二叉树,其中每个父节点的值都小于或等于其所有子节点的值。整个堆的最小元素总是位于二叉树的根节点。
python的heapq模块提供了对堆的支持。这个模块实现的是小顶堆
堆数据结构最重要的特征是heap[0]永远是最小的元素
1.heapq.heappush(heap,item)
注:heap为定义堆,item增加的元素
2.heapq.heapify(list)
3.heapq.heappop(heap)
4.heapq.heapreplace(heap.item)
5.heapq.nlargest(n,heap)
6.heapq.nsmallest(n,heap)
leetcode练习题:
class Solution: def getLeastNumbers(self, arr: List[int], k: int) -> List[int]: if k == 0: return list() hp = [-x for x in arr[:k]] heapq.heapify(hp) for i in range(k, len(arr)): if -hp[0] > arr[i]: heapq.heappop(hp) heapq.heappush(hp, -arr[i]) ans = [-x for x in hp] return ans
标签:font 数据结构 删除 实现 lin 结构 div solution push
原文地址:https://www.cnblogs.com/GumpYan/p/12698737.html