凡客建站江苏昆山网站建设
news/
2025/9/27 2:25:35/
文章来源:
凡客建站,江苏昆山网站建设,织梦 茶叶网站,中小学网站建设论文我们有一个项的集合#xff0c;其中第 i 项的值为 values[i]#xff0c;标签为 labels[i]。
我们从这些项中选出一个子集 S#xff0c;这样一来#xff1a;
|S| num_wanted 对于任意的标签 L#xff0c;子集 S 中标签为 L 的项的数目总满足 use_limit。 返回子…我们有一个项的集合其中第 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 解释选出的子集是第一项第三项和第五项。
代码
class Solution {public int largestValsFromLabels(int[] values, int[] labels, int num_wanted, int use_limit) {PriorityQueueint[] priorityQueuenew PriorityQueue(((o1, o2) - o2[0]-o1[0]));
//堆排序for(int i0;ivalues.length;i){priorityQueue.offer(new int[]{values[i],labels[i]});}MapInteger,Integer mapnew HashMap();//记录相同标签出现的次数int res0,num0;while (!priorityQueue.isEmpty())//贪心算法{int[] temppriorityQueue.poll();if(map.containsKey(temp[1])map.get(temp[1])1use_limit) continue;map.put(temp[1],map.getOrDefault(temp[1],0)1);restemp[0];num;if(numnum_wanted) break;}return res;}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919018.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!