python学习笔记5-堆

题目链接

  • heapify(q) 初始化一个列表q成为小根堆
  • 这道题取反使之成为大根堆
  • heappop(q) 弹出堆顶
  • heappush(q, e) 将e插入堆中
python 复制代码
class Solution:
    def maxKelements(self, nums: List[int], k: int) -> int:
        q = [-x for x in nums]
        heapify(q)

        ans = 0
        for _ in range(k):
            x = heappop(q)
            ans += -x
            heappush(q, -((-x + 2) // 3))
        return ans
相关推荐
向日的葵0064 小时前
langchain的Tools教程(三)
python·langchain·tools
言乐66 小时前
Python实现可运行解密游戏游戏框架
python·游戏·小程序·游戏程序·关卡设计
YUS云生6 小时前
Python学习笔记·第31天:FastAPI入门——路由、路径参数、查询参数与请求体
笔记·python·学习
智写-AI6 小时前
真实有效的免费降英文AI工具服务商
人工智能·python
yuhuofei20217 小时前
【Python入门】了解掌握Python中函数的基本使用
python
白帽小阳8 小时前
2026前端面试题!(附答案及解析)
javascript·网络·python·安全·web安全·网络安全·护网行动
乱写代码9 小时前
Python开发技巧--类型注解Literal
python
卷无止境9 小时前
Python FFI 技术深度解析:ctypes、cffi 与 pybind11 的性能差异与实践挑战
后端·python
郝学胜-神的一滴9 小时前
算法实战:最小k个数——大顶堆的优雅解法
开发语言·数据结构·c++·python·程序人生·算法·排序算法