跳到主要内容

2558.从数量最多的堆取走礼物

链接:2558.从数量最多的堆取走礼物
难度:Easy
标签:数组、模拟、堆(优先队列)
简介:返回在 k 秒后剩下的礼物数量。

题解 1 - python

  • 编辑时间:2023-10-28
  • 执行用时:52ms
  • 内存消耗:15.66MB
  • 编程语言:python
  • 解法介绍:堆。
class Solution:
def pickGifts(self, gifts: List[int], k: int) -> int:
gifts = [-v for v in gifts]
heapify(gifts)
for _ in range(k):
heappush(gifts, -int((-heappop(gifts)) ** 0.5))
return -sum(gifts)