轻松的编程学习
首页
题库
学习路径
在线商城
能力地图
下载应用
登录 / 注册
菜单
求前 k 大的那一串
👁️ 0 人浏览
💬 0 人评论
❤️ 添加收藏
补全
top_k
:返回
前 k 大
组成的列表(从大到小)。
这次求前 3 大,把结果用
/
拼起来输出。
提交你的答案
请登录后提交答案。
去登录
← 求第 k 大
⚠️ 大顶堆里最小的那个在哪 →
更多题目
让程序说出"你好"
让程序欢迎你
哪个命令能显示内容
哪里是指令,哪里是结果
让程序说出你的名字
这个程序会显示什么
代码编辑器
语言:
python3
c11
cpp17
Ctrl
+
Enter
运行
👩🏫 AI
▶ 运行代码
重置代码
打印代码
def sift_down(h, i, n): while True: big = i l = 2 * i + 1 r = 2 * i + 2 if l < n and h[l] > h[big]: big = l if r < n and h[r] > h[big]: big = r if big == i: return h[i], h[big] = h[big], h[i] i = big def pop(h): top = h[0] last = h.pop() if len(h) > 0: h[0] = last sift_down(h, 0, len(h)) return top def heapify(h): n = len(h) for i in range(n // 2 - 1, -1, -1): sift_down(h, i, n) def top_k(vals, k): # TODO: 复制、建堆、连弹 k 次,把每次弹出的收进列表 return [] print("/".join(str(x) for x in top_k([17, 24, 15, 13, 23], 3)))
本次输入:
输出:
👩🏫
AI
请登录后使用 AI 老师
×
登录后可获得解题思路、提示与错误分析。
去登录
关闭
🎉
恭喜你,回答正确!
系统判定:正确
我知道了
💬 题目评论
提交
全部评论
全部评论