1962.移除石子使总数最小
链接:1962.移除石子使总数最小
难度:Medium
标签:贪心、数组、堆(优先队列)
简介:返回执行 k 次操作后,剩下石子的 最小 总数。
题解 1 - python
- 编辑时间:2023-12-23
- 执行用时:708ms
- 内存消耗:28.59MB
- 编程语言:python
- 解法介绍:heap。
class Solution:
def minStoneSum(self, piles: List[int], k: int) -> int:
q = list(-v for v in piles)
heapify(q)
res = sum(piles)
for _ in range(k):
v = -heappop(q)
res -= floor(v / 2)
heappush(q, -(v - floor(v / 2)))
return res