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
相关推荐
千禧皓月1 小时前
huggingface-cli下载数据集和模型
python
爱编程的小庄1 小时前
Rust 发行版本及工具介绍
开发语言·后端·rust
lsx2024061 小时前
SVN 检出操作详解
开发语言
DREAM依旧1 小时前
本地微调的Ollama模型部署到Dify平台上
人工智能·python
小陈phd1 小时前
langGraph从入门到精通(九)——基于LangGraph构建具备多工具调用与自动化摘要能力的智能 Agent
人工智能·python·langchain
一晌小贪欢1 小时前
Python 对象的“Excel 之旅”:使用 openpyxl 高效读写与封装实战
开发语言·python·excel·表格·openpyxl·python办公·读取表格
【赫兹威客】浩哥1 小时前
【赫兹威客】Python解释器部署教程
python
赵八斤1 小时前
java 项目中配置多个数据源
java·开发语言·数据库
代码or搬砖1 小时前
Prompt(提示词工程)
人工智能·python·prompt
txinyu的博客1 小时前
解析muduo源码之 StringPiece.h
开发语言·网络·c++