2931.购买物品的最大开销
链接:2931.购买物品的最大开销
难度:Hard
标签:贪心、数组、矩阵、排序、堆(优先队列)
简介:请你返回购买所有 m * n 件物品需要的 最大开销 。
题解 1 - python
- 编辑时间:2024-12-12
- 执行用时:175ms
- 内存消耗:27.46MB
- 编程语言:python
- 解法介绍:贪心,每次找最便宜的
class Solution:
def maxSpending(self, values: List[List[int]]) -> int:
q = []
for i in range(len(values)): heappush(q, (values[i].pop(), i))
res = 0
cnt = 1
while q:
val, idx = heappop(q)
res += val * cnt
cnt += 1
if values[idx]: heappush(q, (values[idx].pop(), idx))
return res