文章目录

  • 1. 题目
  • 2. 解题

1. 题目

给你一个不同学生的分数列表,请按 学生的 id 顺序 返回每个学生 最高的五科 成绩的 平均分

对于每条 items[i] 记录, items[i][0] 为学生的 id,items[i][1] 为学生的分数。
平均分请采用整数除法计算。

示例:
输入:[[1,91],[1,92],[2,93],[2,97],[1,60],[2,77],[1,65],[1,87],[1,100],[2,100],[2,76]]
输出:[[1,87],[2,88]]
解释:
id = 1 的学生平均分为 87。
id = 2 的学生平均分为 88.6。但由于整数除法的缘故,平均分会被转换为 88。提示:
1 <= items.length <= 1000
items[i].length == 2
学生的 ID 在 1 到 1000 之间
学生的分数在 1 到 100 之间
每个学生至少有五个分数

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

2. 解题

  • 每个人对应的 优先队列存入最大的5个成绩
class Solution {public:vector<vector<int>> highFive(vector<vector<int>>& items) {vector<vector<int>> ans;map<int,priority_queue<int,vector<int>,greater<int>>> m;int id, v;for(auto& i : items){id = i[0];v = i[1];if(m[id].size()<5)m[id].push(v);else if(m[id].size()==5 && m[id].top() < v){m[id].pop();m[id].push(v);}}for(auto it = m.begin(); it != m.end(); ++it){id = it->first;v = 0;while(!m[id].empty()){v += m[id].top();m[id].pop();}ans.push_back({id,v/5});}return ans;}
};

28 ms 9.5 MB


长按或扫码关注我的公众号,一起加油、一起学习进步!

LeetCode 1086. 前五科的均分(map + 优先队列)相关推荐

  1. LeetCode 692. 前K个高频单词(优先队列)

    1. 题目 给一非空的单词列表,返回前 k 个出现次数最多的单词. 返回的答案应该按单词出现频率由高到低排序. 如果不同的单词有相同出现频率,按字母顺序排序. 示例 1: 输入: ["i&q ...

  2. 使用MapReduce统计一篇微博数据的点赞次数,并且输出前五个最高的点赞数量。

    一个MapReduce写了一个下午,调试运行了不下20次了,我靠,真是闹心,差点整崩溃,在最绝望的时候给出了最好的答案. 需求: 使用MapReduce统计一篇微博数据的点赞次数,并且输出前五个最高的 ...

  3. 读取一个文件,获取其中出现次数最多的前五个字符以及次数

    近期遇到这个题目的时候,大致思路是有就是读取文件,字符串转字符数组,排除重复的内容比较次数,结果问题就卡到这里,忘记使用map的键值对的特性,以及Collections.sort和Collection ...

  4. LeetCode——347. 前 K 个高频元素【最小堆实现】

    LeetCode--347. 前 K 个高频元素[最小堆实现] 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素.你可以按 任意顺序 返回答案. 示例1: 输入: n ...

  5. MapReducer 取前五的案列Top n

    1.业务需求,统计单词个数取前五Top 5 2.数据 Chief Justice Roberts, Vice President Harris, Speaker Pelosi, Leader Schu ...

  6. Leetcode 347. 前 K 个高频元素

    Leetcode 347. 前 K 个高频元素 1.问题分析 2.问题解决 3.总结 1.问题分析 题目链接:https://leetcode-cn.com/problems/top-k-freque ...

  7. Leetcode刷题五遍还没offer - 听我分析为什么找工作光刷题没用

    一亩三分地就业求职版里,有位同学发帖说: LZ从14年秋季入学开始刷题,一门心思要找份好工作,到现在leetcode已经刷过五遍,都做好详尽的总结,看过geeksforgeeks里面一半的topic. ...

  8. FRVT赛程全纪录:格灵深瞳全球排名前五

    作者 | 张德兵,格灵深瞳首席科学家&算法部负责人 来源 | 转载自知乎张德兵 最近两个月,格灵深瞳首席科学家&算法部负责人张德兵与算法团队参加了全球人脸识别算法测试(FRVT.Fac ...

  9. 荣耀总裁赵明:AI 是核心战略,全球前五的目标不会变

    作者 | DavidZh 出品 | AI科技大本营(公众号ID:rgznai100) 4 月 26 日的 GMIC 大会上,华为荣耀总裁赵明分享了荣耀品牌在人工智能和全球化上的策略和进展,并接受了 C ...

最新文章

  1. 【Linux学习笔记】 - 什么是Linux?
  2. 您试图从目录中执行CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序
  3. 二级路由dhcp关闭连不上wifi_酒店网络故障:原来还与DHCP服务器有关
  4. SAP Data Intelligence上的Python Operator
  5. python计算单词长度_Python - 按长度打印单词
  6. 安装linux无驱动黑屏,ubuntu16.04安装黑屏与显卡安装笔记
  7. push和unshift方法
  8. JProfiler 解决 Java 服务器的性能跟踪
  9. electronic-wechat高分屏下的缩放修改
  10. 邱锡鹏:为什么相比于CV,NLP领域的发展要缓慢?
  11. java string to bit_Java Convert String to Binary
  12. ubuntu下使用命令行查看opencv版本
  13. google地图距离算法_java – 使用谷歌地图计算实际行进距离
  14. Git 使用tag标签
  15. Java中使用Protocol Buffer
  16. linux 进程共享内存同步,Linux使用共享内存通信的进程同步退出问题
  17. CAD网页Web端显示开发为什么要以WebGIS的思路来开发?
  18. mysql数据库基本操作指令:附图
  19. 友盟 集成到 java web_友盟消息推送SDK集成
  20. Xshell7和Xftp7学生个人版下载使用(网盘链接)

热门文章

  1. python中tkinter的使用-中
  2. 模拟银行自动提款系统python
  3. 配置hiveserver2访问hive
  4. 快速入门Matplotlib
  5. 特别慢_背什么都特别慢,该怎么提高记忆力?
  6. 小程序 长按api_高质量的微信小程序样式模板应该长什么样?
  7. mysql修改校对集_MySQL 图文详细教程之校对集问题
  8. 动态dp模板题(树剖+dp+线段树)
  9. Django之缓存、信号和图片验证码
  10. 【BZOJ3640】JC的小苹果 概率DP+高斯消元