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
相关推荐
qq_460978401 天前
如何在 PHP 包含文件中动态排除当前页面的导航项
jvm·数据库·python
编码者卢布1 天前
【App Service】查看Application Insights自身SDK日志的方法示例
后端·python·flask
一朵缥缈的向日葵.1 天前
[特殊字符] Mojo 语言:为 AI 硬件而生的“Python 升级版” —— 完整指南
人工智能·python·mojo
wolfengi1 天前
python之使用docxtpl渲染word模板
数据库·python·word
2401_831419441 天前
Layui如何实现表格内部的图片点击后进入相册轮播模式
jvm·数据库·python
Jetev1 天前
SQL使用JOIN连接更新目标表数据_UPDATE语句结合JOIN语法实现
jvm·数据库·python
xyq20241 天前
Memcached stats items 命令详解
开发语言
Evand J1 天前
【MATLAB例程】多传感器协同DOA目标跟踪与EKF滤波,输出动态目标轨迹、轨迹误差对比分析
开发语言·matlab·目标跟踪·滤波·定位·导航
csbysj20201 天前
《jEasyUI 自定义分页》
开发语言
2401_832365521 天前
如何用最快速度完成Navicat的Linux系统完美安装配置_傻瓜式操作步骤
jvm·数据库·python