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
相关推荐
青丝挽来生*几秒前
继承-C++
开发语言·c++
努力学习的小廉几秒前
【C++】 —— 笔试刷题day_18
开发语言·c++·算法
小小毛桃4 分钟前
PyTorch的benchmark模块
人工智能·pytorch·python
极客先躯21 分钟前
高级java每日一道面试题-2025年4月09日-微服务篇[Nacos篇]-Nacos的服务注册与发现机制是如何实现的?
java·开发语言·微服务
十五年专注C++开发38 分钟前
面试题:C++11在C++98基础上增加了哪些内容?
开发语言·c++·设计模式·面试·stl·适配器模式
yivifu1 小时前
Cython中操作C++字符串
开发语言·python·c++扩展模块
Dominic_Holmes1 小时前
代码随想录算法训练营Day30 | 01背包问题(卡码网46. 携带研究材料)、Leetcode416.分割等和子集
数据结构·python·算法·leetcode
越城1 小时前
冒泡与 qsort 排序策略集
c语言·开发语言·算法·排序算法
小巫程序Demo日记1 小时前
Spring Cache与Redis集成原理
数据库·spring boot·python