Skip to content

Latest commit

 

History

History
101 lines (70 loc) · 2.48 KB

[1090] 受标签影响的最大值.md

File metadata and controls

101 lines (70 loc) · 2.48 KB
title tags categories author comments updated permalink mathjax top description date
[1090] 受标签影响的最大值
leetcode
leetcode
张学志
true
false
false
false
...
2019-12-31 16:18:10 -0800

题目描述

我们有一个项的集合,其中第 i 项的值为 values[i],标签为 labels[i]

我们从这些项中选出一个子集 S,这样一来:

  • |S| <= num_wanted
  • 对于任意的标签 L,子集 S 中标签为 L 的项的数目总满足 <= use_limit

返回子集 S 的最大可能的 

 

示例 1:

输入:values = [5,4,3,2,1], labels = [1,1,2,2,3], num_wanted = 3, use_limit = 1
输出:9
解释:选出的子集是第一项,第三项和第五项。

示例 2:

输入:values = [5,4,3,2,1], labels = [1,3,3,3,2], num_wanted = 3, use_limit = 2
输出:12
解释:选出的子集是第一项,第二项和第三项。

示例 3:

输入:values = [9,8,8,7,6], labels = [0,0,0,1,1], num_wanted = 3, use_limit = 1
输出:16
解释:选出的子集是第一项和第四项。

示例 4:

输入:values = [9,8,8,7,6], labels = [0,0,0,1,1], num_wanted = 3, use_limit = 2
输出:24
解释:选出的子集是第一项,第二项和第四项。

 

提示:

  1. 1 <= values.length == labels.length <= 20000
  2. 0 <= values[i], labels[i] <= 20000
  3. 1 <= num_wanted, use_limit <= values.length
Related Topics
  • 贪心算法
  • 哈希表
  • 题目代码

    class Solution {
    public:
        int largestValsFromLabels(vector<int>& values, vector<int>& labels, int num_wanted, int use_limit) {
    
        }
    };

    题目解析

    方法一

    方法二

    方法三