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
相关推荐
aliceDingYM27 分钟前
Linux python3.6安装mayavi报错
linux·python·ui
.生产的驴3 小时前
SpringBoot AOP切入点表达式
spring boot·后端·python
逆水寻舟4 小时前
算法学习记录2
python·学习·算法
B站计算机毕业设计超人5 小时前
计算机毕业设计Python深度学习美食推荐系统 美食可视化 美食数据分析大屏 美食爬虫 美团爬虫 机器学习 大数据毕业设计 Django Vue.js
大数据·python·深度学习·机器学习·数据分析·课程设计·推荐算法
码农超哥同学5 小时前
Python面试题:请解释 `lambda` 函数是什么,并举一个例子
开发语言·python·面试·编程
sssjjww5 小时前
python输出日志out.log相关问题(缓存机制)
java·python·缓存
Uluoyu5 小时前
python爬虫爬取中国国际招标有限公司
开发语言·爬虫·python
Python私教5 小时前
zdppy+onlyoffice+vue3解决文档加载和文档强制保存时弹出警告的问题
vue.js·python
菜鸟赵大宝5 小时前
【Python】Python中TODO的用法解析
python·pycharm
Narutolxy6 小时前
如何高效管理和迁移Python开发环境:从Conda到纯Python的转换指南
开发语言·python·conda