LeetCode题解(1090):受标签影响的最大值(Python)
发布日期:2021-06-29 20:09:44 浏览次数:3 分类:技术文章

本文共 697 字,大约阅读时间需要 2 分钟。

题目:(中等)

标签:哈希表、贪心算法、堆

解法 时间复杂度 空间复杂度 执行用时
Ans 1 (Python) O ( N l o g N ) O(NlogN) O(NlogN) O ( N ) O(N) O(N) 192ms (33.33%)
Ans 2 (Python)
Ans 3 (Python)

解法一(堆):

class Solution:    def largestValsFromLabels(self, values: List[int], labels: List[int], num_wanted: int, use_limit: int) -> int:        heap = []        for i in range(len(values)):            heapq.heappush(heap, (-values[i], labels[i]))        count = collections.Counter()        ans = 0        now = 0        while heap and now < num_wanted:            value, label = heapq.heappop(heap)            if count[label] < use_limit:                count[label] += 1                ans -= value                now += 1        return ans

转载地址:https://dataartist.blog.csdn.net/article/details/109845223 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LeetCode题解(1133):最大唯一数(Python)
下一篇:LeetCode题解(1086):前五科的均分(Python)

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月28日 14时06分21秒