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
相关推荐
accept 99%1 分钟前
python版提取 PDF 的常用第三方库与工具
开发语言·python·pdf
lzhdim3 分钟前
C# 通过 Windows API 实现进程内存读写操作
开发语言·windows·c#
小猴子爱上树7 分钟前
跨境图片翻译工具,批量处理商品图视频字幕
python·音视频
-银雾鸢尾-10 分钟前
C#中的预处理指令
开发语言·c#
用户2986985301412 分钟前
HTML 转 Word 指南:新手入门教程
人工智能·后端·python
Livia要学习16 分钟前
Python面向对象三大特性:封装、继承、多态
开发语言·python
dalong1020 分钟前
Savitzky-Golay 的C# 实现
开发语言·kotlin·c#
Csvn28 分钟前
🐍 Day1 : Python 环境搭建 — 现代 Python 工作流
后端·python
杨_晨29 分钟前
LLM输出康熙部首冲突
数据库·python·mysql·ai
渣男教父31 分钟前
Python-lxml 与 XPath 实战
python·编程语言