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
相关推荐
kcuwu.8 分钟前
Python面向对象:封装、继承、多态
开发语言·python
YuanDaima204812 分钟前
LangChain基础配置与对话模型实战
人工智能·python·langchain·大模型·智能体·langgraph
一定要AK14 分钟前
Java流程控制
java·开发语言·笔记
河西石头14 分钟前
分享python项目与开源python项目中的效率法宝--requirements文件的使用
开发语言·python·requirements文件·批量安装python依赖·python虚拟环境配置
不懒不懒28 分钟前
【卷积神经网络作业实现人脸的关键点定位功能】
开发语言·python
321.。28 分钟前
Linux 进程控制深度解析:从创建到替换的完整指南
linux·开发语言·c++·学习
酉鬼女又兒31 分钟前
零基础快速入门前端Web存储(sessionStorage & localStorage)知识点详解与蓝桥杯考点应用(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·职场和发展·蓝桥杯·html
Bert.Cai33 分钟前
Python集合简介
开发语言·python
tryCbest36 分钟前
Java和Python开发项目部署简介
java·开发语言·python
ZTLJQ37 分钟前
任务调度的艺术:Python分布式任务系统完全解析
开发语言·分布式·python