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
相关推荐
yong99907 小时前
MATLAB仿真计算电磁波回波信号的技术路径与实现指南
开发语言·matlab
不是光头 强7 小时前
Spring Boot 多线程场景下 i18n 国际化失效问题排查与解决
java·开发语言·springboot
jieyucx7 小时前
Go 语言核心关键字:defer 深度解析与实战避坑
开发语言·后端·golang·defer
m0_702036537 小时前
mysql如何导出特定条件的查询数据_使用mysqldump加where参数
jvm·数据库·python
星恒随风7 小时前
四天学完前端基础三件套(JavaScript篇)
开发语言·前端·javascript·笔记
杜子不疼.8 小时前
【 C++ AI 大模型接入 SDK】 - 日志模块
开发语言·javascript·c++
m0_733565468 小时前
bootstrap怎么实现响应式的文章瀑布流布局
jvm·数据库·python
m0_463672208 小时前
Golang如何用火焰图分析性能_Golang火焰图教程【对比】
jvm·数据库·python
knight_9___8 小时前
大模型project面试4
人工智能·python·深度学习·算法·面试·agent
m0_591364738 小时前
Go语言怎么做链路追踪_Go语言分布式链路追踪教程【精选】
jvm·数据库·python