import heapq
python里提供的一个库 建立一个小顶堆 做题可能经常会用到 基础写法还是要会的
![](https://img2020.cnblogs.com/blog/821155/202110/821155-20211012115740156-966004007.png)
import heapq nums = [-1, 34, 4, -114, 514, 1919,810] #返回前4大的数字 biggest = heapq.nlargest(4, nums) #返回前3小的数字 top = heapq.nsmallest(3, nums) print(biggest,top) #建立一个堆 将已有的元素塞到一个新数组里 pp=[] for i in nums: heapq.heappush(pp,i) print(pp) #堆顶滚出去 heapq.heappop(pp) print(pp)
实际题目应用:第k大的数→https://www.cnblogs.com/AKsnoopy/p/15397247.html