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
相关推荐
Terra.K几秒前
ThreadLocal解决一个线程里面跨层传递问题
java·开发语言·后端
cts61825 分钟前
FDE架构师前端选型指南
python
变与不变80635 分钟前
引用类型、内存原理与对象
开发语言·前端·javascript
wuyk55536 分钟前
从零吃透 MQTT 通信|第 5 章 MQTT 心跳保活机制深度优化,断线检测与智能自动重连
c语言·开发语言·stm32·学习
weixin_4407305043 分钟前
socket解决多次输入问题-大数据接收问题-模块动态导入
java·开发语言·servlet
2601_962293791 小时前
【Python教程:自动化处理文件】
python·自动化·编程·文件处理·os模块
禹凕1 小时前
快速幂算法详解与实战
python·算法
sylviiiiiia1 小时前
leetcode hot 100
python·算法·leetcode
半摆烂日常1 小时前
自建WMS和买成品:三年成本对比
大数据·服务器·数据库·python·深度学习·低代码·numpy
励志不掉头发的内向程序员1 小时前
【LibreCAD 2D架构】从鼠标点击到图形创建:RS_ActionDrawLine交互流程与状态机解析
开发语言·c++·qt·学习·系统架构·计算机外设·交互