Leetcode1090. 受标签影响的最大值

思路:根据值从大到小排序,然后在加的时候判断是否达到标签上限即可,一开始想用字典做,但是题目说是集合却连续出现两个8,因此使用元组+SortedList进行解决

python 复制代码
class Solution:
    def largestValsFromLabels(self, values: list[int], labels: list[int], numWanted: int, useLimit: int) -> int:
        from sortedcontainers import SortedList
        from collections import defaultdict
        sorted_values = SortedList()
        for num in range(0, len(labels)):
            sorted_values.add((values[num], labels[num]))
        total_sum = 0
        label_dict = defaultdict(int)
        for value_label in reversed(sorted_values):
            value = value_label[0]
            label = value_label[1]
            if label_dict[label] < useLimit:
                if numWanted > 0:
                    numWanted -= 1
                    total_sum += value
                    label_dict[label] += 1
                else:
                    return total_sum
        return total_sum
相关推荐
Albertbreak几秒前
STL容器内部实现剖析
开发语言·c++·算法
2301_795741794 分钟前
模板编译期机器学习
开发语言·c++·算法
qq_4160187213 分钟前
模板错误消息优化
开发语言·c++·算法
2501_9083298521 分钟前
NumPy入门:高性能科学计算的基础
jvm·数据库·python
杰克尼24 分钟前
知识点总结--02(java基础部分)
java·开发语言·jvm
Sunshine for you25 分钟前
C++中的对象池模式
开发语言·c++·算法
暮冬-  Gentle°39 分钟前
编译器优化屏障使用
开发语言·c++·算法
华科大胡子44 分钟前
此电脑网络位置异常的AD域排错指南
开发语言·php
m0_730115111 小时前
模板编程中的SFINAE技巧
开发语言·c++·算法
2401_874732531 小时前
Python Web爬虫入门:使用Requests和BeautifulSoup
jvm·数据库·python