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
相关推荐
Aurora_th1 分钟前
蓝桥杯py组入门(bfs广搜)
python·蓝桥杯·bfs·宽度优先
黑客学长-刘备3 分钟前
终于有人把网络安全就业方向一口气讲清了(非常详细)零基础入门到精通,收藏这一篇就够了
java·运维·服务器·网络·python·安全·web安全
小爬虫程序猿3 分钟前
Java爬虫:在1688上“照片快递”上传图片
java·开发语言·爬虫
Json_181790144804 分钟前
小红书笔记详情API接口系列(概述到示例案例)
开发语言·python
热爱生活热爱你25 分钟前
Qt5 读写共享内存,已验证,支持汉字的正确写入和读取
开发语言·qt
Loong_DQX1 小时前
【flask】 前后端通信方式 原生js的ajax,总结
后端·python·flask
TheoBrien1 小时前
JUC(java.util.concurrent) 的常⻅类
java·开发语言
淡淡蛋痛1 小时前
D3.js 入门指南
开发语言·javascript·信息可视化
wrx繁星点点1 小时前
创建型模式-建造者模式:构建复杂对象的优雅解决方案
java·开发语言·数据结构·数据库·spring·maven·建造者模式
Python大数据分析@1 小时前
Python中除了matplotlib外还有哪些数据可视化的库?
python·信息可视化·matplotlib