LeetCode 1383. 最大的团队表现值(贪心,优先队列,难)

1. 题目

公司有编号为 1 到 n 的 n 个工程师,给你两个数组 speed 和 efficiency ,其中 speed[i] 和 efficiency[i] 分别代表第 i 位工程师的速度和效率。
请你返回由最多 k 个工程师组成的 ​​​​​​最大团队表现值 ,由于答案可能很大,请你返回结果对 10^9 + 7 取余后的结果。

团队表现值 的定义为:一个团队中「所有工程师速度的和」乘以他们「效率值中的最小值」。

示例 1:
输入:n = 6, speed = [2,10,3,1,5,8], efficiency = [5,4,3,9,7,2], k = 2
输出:60
解释:
我们选择工程师 2(speed=10 且 efficiency=4)和工程师 5(speed=5 且 efficiency=7)。
他们的团队表现值为 performance = (10 + 5) * min(4, 7) = 60 。示例 2:
输入:n = 6, speed = [2,10,3,1,5,8], efficiency = [5,4,3,9,7,2], k = 3
输出:68
解释:
此示例与第一个示例相同,除了 k = 3 。我们可以选择工程师 1 ,
工程师 2 和工程师 5 得到最大的团队表现值。
表现值为 performance = (2 + 10 + 5) * min(5, 4, 7) = 68 。示例 3:
输入:n = 6, speed = [2,10,3,1,5,8], efficiency = [5,4,3,9,7,2], k = 4
输出:72提示:
1 <= n <= 10^5
speed.length == n
efficiency.length == n
1 <= speed[i] <= 10^5
1 <= efficiency[i] <= 10^8
1 <= k <= n

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/maximum-performance-of-a-team
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 参考大佬的思路:Ikaruga
  • 按照效率 ηi\eta_iηi 降序排序,遍历每个人
  • 最大团队值为 min⁡ηi∗∑speed\min \eta_i*\sum speedminηispeed
  • ηi\eta_iηi 是下降的,那么效率高于 ηi\eta_iηi 的人在人数少于 kkk 的时候全部加入,使得第二项最大
  • 当人数超过 kkk 了,在 ηi\eta_iηi 下,比其效率高的人中,我要选出 speedspeedspeed 最大的 kkk
  • 这样,每个 ηi\eta_iηi 作为第一项的情况 都遍历过了,且每次遍历的时候,挑出来的人也都是 speedspeedspeed 最快的
class Solution {
public:int maxPerformance(int n, vector<int>& speed, vector<int>& efficiency, int k) {vector<vector<int>> people;int i, e, s;long long maxPerf = 0, speedsum = 0;for(i = 0; i < speed.size(); ++i){people.push_back({efficiency[i], speed[i]});}sort(people.rbegin(), people.rend());//按照效率从大到小排序priority_queue<int, vector<int>,greater<int>> q;//小顶堆for(i = 0; i < speed.size(); ++i){e = people[i][0];//效率speedsum += people[i][1];//速度和k--;//人数-1q.push(people[i][1]);//速度队列,堆顶最小if(k < 0)//人超过k人了{speedsum -= q.top();//速度小的删除q.pop();}maxPerf = max(maxPerf, e*speedsum);//这里不要取模}return maxPerf%1000000007;}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477036.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序员坐牢了,会被安排去写代码吗?

文 | 无念源 | 知乎今天给大家分享一篇有意思的爽文&#xff0c;但也是根据多年之前一个真实报道改编而来的。本文字数较多&#xff0c;建议先收藏&#xff0c;上下班路上、带薪上厕所、浑水摸鱼时再慢慢看~本故事纯属虚构请大家不要随意模仿&#xff0c;后果自负&#xff01;因…

Dubbo将积极适配Spring Cloud生态,Spring Cloud体系或将成为微服务的不二选择!

2016年&#xff0c;我在博客中发表过一篇《微服务架构的基础框架选择&#xff1a;Spring Cloud还是Dubbo&#xff1f;》获得了很大的阅读量和转载量。在这篇文章中&#xff0c;我主要对比了Spring Cloud与Dubbo所具备的能力&#xff0c;并阐述了个人推崇Spring Cloud的原因。但…

Java sdk及tomcat安装设置

在安装好Java SDK后&#xff0c;还需要设置一些系统变量&#xff0c;系统变量的设置可以在系统属性-高级-环境变量中进行 JAVA_HOMEJAVA安装目录 CLASSPATH… 库路径&#xff0c;可以是目录或jar文件&#xff0c;如C:\j2sdk1.4.0_01\lib\dt.jar;d:\java&#xf…

剑指Offer - 面试题51. 数组中的逆序对(归并排序,求逆序对)

1. 题目 在数组中的两个数字&#xff0c;如果前面一个数字大于后面的数字&#xff0c;则这两个数字组成一个逆序对。输入一个数组&#xff0c;求出这个数组中的逆序对的总数。 示例 1: 输入: [7,5,6,4] 输出: 5限制&#xff1a; 0 < 数组长度 < 50000来源&#xff1a;力…

【小马哥】Spring Cloud系列讲座

这里推荐一个不错的Spring Cloud系列讲座&#xff0c;讲师简介如下&#xff1a; 小马哥&#xff0c;阿里巴巴技术专家&#xff0c;从事十余年Java EE 开发&#xff0c;国内微服务技术讲师。目前主要负责微服务技术推广、架构设计、基础设施、迁移等。重点关注云计算、微服务以及…

名校女教授,强迫其男博士“发生性关系多年”!索赔750万

转自 | 论文项目硕博招聘、磐创AI来源 | FOREIGNDAILY 、双一流高校等早稻田大学是日本的知名大学&#xff0c;但最近这所知名大学却引来了不小的争议。早稻田大学一名25岁的学生&#xff0c;将他的女导师和学校一起告上了法庭&#xff0c;要求他们赔偿自己750万日元&#xff…

剑指Offer - 面试题43. 1~n整数中1出现的次数(找规律+公式)

1. 题目 输入一个整数 n &#xff0c;求1&#xff5e;n这n个整数的十进制表示中1出现的次数。 例如&#xff0c;输入12&#xff0c;1&#xff5e;12这些整数中包含1 的数字有1、10、11和12&#xff0c;1一共出现了5次。 示例 1&#xff1a; 输入&#xff1a;n 12 输出&…

从网上看到的很搞笑的东西

[转]天下无贼经典台词IT版 戴尔&#xff1a;“人心散了&#xff0c;队伍不好带了!“ IBM&#xff1a;“我最烦你们些胡乱降价的了&#xff0c;一点技术含量都没有!“ 惠普&#xff1a;“实话告诉你们&#xff0c;惠普很生气&#xff0c;后果很严重!“ Intel&#xff1a;“你过得…

Spring Cloud实战小贴士:turbine如何聚合设置了context-path的hystrix数据

之前在spring for all社区看到这样一个问题&#xff1a;当actuator端点设置了context-path之后&#xff0c;turbine如何聚合数据&#xff1f;首先&#xff0c;我们要知道actuator端点设置了context-path是什么意思&#xff1f;也就是说&#xff0c;此时spring boot actuator的端…

prompt范式有了商业模式,卖提示词可以赚钱??

文 | 衡宇 发自 凹非寺源 | 量子位DALLE 2、GPT-3提示词在线交易平台&#xff0c;了解一下&#xff1f;最近&#xff0c;一家初创公司PromptBase&#xff0c;允许用户在该平台买卖提示词&#xff08;Prompt&#xff09;&#xff0c;提示词售价为1.99美元。PromptBase将向卖家抽…

LintCode 795. 4种独特的路径(DFS)

1. 题目 一个机器人位于一个m*n的网格的左上角。 机器人可以在任何时间点移动任何方向&#xff0c;但是每个网格只能达到一次。机器人正试图到达网格的右下角。 有多少种可能的独特路径? 样例 1: 输入: 2 3 输出: 4样例 2: 输入: 3 3 输出: 122. 解题 暴力回溯即可 class …

GARFIELD@01-19-2005

i begot them before, and you got them now 转载于:https://www.cnblogs.com/rexhost/archive/2005/01/19/94132.html

SpringCloud中文社区转型Spring4All欢迎您的加入

相信关注我们Spring Cloud中文社区&#xff08;bbs.springcloud.com.cn&#xff09;的朋友们最近已经在最新的横幅中发现了一个全新的社区&#xff1a;spring4all.com&#xff0c;相信从名字大家也能猜到该域名寓意Spring For All&#xff0c;那么我们为什么要重新创建这样一个…

全世界都在说中国话?2022国际大数据竞赛首次以“中文”命题

8月10日&#xff0c; IKCEST第四届“一带一路”国际大数据竞赛暨第八届百度&西安交大大数据竞赛&#xff08;以下简称“国际大数据竞赛”&#xff09;正式启动&#xff0c;本届赛题聚焦“低资源语言机器翻译”行业难题&#xff0c;向全球开发者发出邀请。百度发布稀缺语种任…

昨天发烧了……

唉&#xff0c;真是天有不测风云啊……发烧原因不明……转载于:https://www.cnblogs.com/wonderow/archive/2005/01/20/94699.html

LeetCode 51. N皇后 / 52. N皇后 II(回溯)

1. 题目 n 皇后问题研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 上图为 8 皇后问题的一种解法。 给定一个整数 n&#xff0c;返回所有不同的 n 皇后问题的解决方案。 每一种解法包含一个明确的 n 皇后问题的棋子放置方案&…

我的新书《Spring Cloud实战》预告

从去年6月开始编写《Spring Cloud构建微服务架构》系列博文开始&#xff0c;受到了不少同行的关注与支持。随后也开通了多个交流群、创建了相关的论坛&#xff08;http://bbs.springcloud.cn&#xff09;&#xff0c;虽然Spring Cloud在国内变得越来越火热&#xff0c;但是这一…

GPT-3 泄露了我的真实姓名

文 | 天于刀刀世界上总有这么一群人&#xff0c;他们是高智商科技狂&#xff0c;是新时代技术热点的弄潮儿&#xff0c;更是充满神秘感潜藏在里世界默默注视着时代发展的极客。而 Hacker News 这一网站致力于提供最新国际威胁情报、黑客动向以及维基解密资讯&#xff0c;让我们…

Gmail的另类浏览法--RSS

RSS 眼下大行其道&#xff0c;虽然RSS在技术上没有什么最尖端、最高新的突破&#xff0c;不过是对信息的时序做了一些处理&#xff0c;但很恰当地调整了人们获取信息的方式&#xff0c;使得信息的获得变得集中、主动和异步。 集中&#xff1a;可供订阅的聚合一般都是某个主题相…

LintCode 1210. 升序子序列(DFS)

1. 题目 给定一个整数数组&#xff0c;找到所有不同的可能的升序子序列&#xff0c;一个升序子序列的长度至少应为2。 例1: 输入: [4,6,7,7] 输出: [[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6,7,7],[7,7]]例2: 输入: [65,21,-44,31,-8] 输出: [[-44,-8],[-44,31],[21,…