第K序元素查找 python
问题描述:
1)编写程序,在无排序的一个列表中查找第k个最大元素。例如, 给定3,2,1,5,6,4和k=2,输出5。
2)注意:假设k总是有效的,且k值大于等于0,小于等于数组的长度。
3)输入代码并提交解答。
答
最简单的方法是排序的后再取
li = [3,2,1,5,6]
k = 2
r = sorted(li,reverse=True)[k-1]
print(r)
答
优先队列算法。
import queue
li = [3,2,1,9,65,57,25,6,46,43]
k = 5
pq = queue.PriorityQueue()
for v in li:
pq.put(v)
if pq.qsize()>k:
pq.get()
print(pq.get())
参考
https://blog.csdn.net/weixin_44402973/article/details/108895480
答
哈哈
答
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632