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
相关推荐
我是华为OD~HR~栗栗呀20 分钟前
华为OD-23届-测试面经
java·前端·c++·python·华为od·华为·面试
我是华为OD~HR~栗栗呀22 分钟前
华为od面经-23届-Java面经
java·c语言·c++·python·华为od·华为·面试
逐步前行3 小时前
C标准库--C99--布尔型<stdbool.h>
c语言·开发语言
程序员爱钓鱼3 小时前
Python编程实战 · 基础入门篇 | 元组(tuple)
后端·python·ipython
QX_hao3 小时前
【Go】--闭包
开发语言·golang
程序员爱钓鱼3 小时前
Python编程实战 · 基础入门篇 | 列表(list)
后端·python·ipython
御承扬5 小时前
编程素养提升之EffectivePython(Builder篇)
python·设计模式·1024程序员节
chenchihwen6 小时前
AI代码开发宝库系列:FAISS向量数据库
数据库·人工智能·python·faiss·1024程序员节
林月明7 小时前
【VBA】自动设置excel目标列的左邻列格式
开发语言·excel·vba·格式
喜欢吃燃面7 小时前
数据结构算法题:list
开发语言·c++·学习·算法·1024程序员节