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
相关推荐
wb0430720112 小时前
外卖大战——从阿明的“3 秒生死线“,看系统性能优化的全链路方法论
开发语言·性能优化·架构·php
小的~~12 小时前
Java线程及线程池的相关的问题
java·开发语言·多线程
CTA终结者12 小时前
Python 写期货自动交易:行情下单与成交回报怎么组织
开发语言·python·区块链
倾一生爱恋换一世纯真12 小时前
接口自动化测试框架搭建流程
python
TE-茶叶蛋12 小时前
Next.js中App Router 全部特殊文件一览
开发语言·javascript·网络
红藕香残玉簟秋13 小时前
【Rust学习】windows安装rust
开发语言·学习·rust
abcy07121313 小时前
python flask app.py里的接口放在别的目录下图文教程
python
弹简特13 小时前
【零基础学Python】08-Python面向对象之封装、多态和函数进阶
开发语言·python
人道领域13 小时前
一篇文章解决Codex的安装,实操一遍过
java·开发语言·codex
thisiszdy13 小时前
<C++> 智能指针
开发语言·c++