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