当前位置: 首页 > news >正文

Leetcode会员尊享面试100题:1086:前五科的均分

给你一个不同学生的分数列表items,其中items[i] = [IDi, scorei]表示IDi的学生的一科分数,你需要计算每个学生最高的五科成绩的平均分

返回答案result以数对数组形式给出其中result[j] = [IDj, topFiveAveragej]表示IDj的学生和他最高的五科成绩的平均分result需要按IDj递增的顺序排列

学生最高的五科成绩的平均分的计算方法是将最高的五科分数相加,然后用整数除法除以 5 。

示例 1:

输入:items = [[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 的学生分数为 91、92、60、65、87 和 100 。前五科的平均分 (100 + 92 + 91 + 87 + 65) / 5 = 87 ID = 2 的学生分数为 93、97、77、100 和 76 。前五科的平均分 (100 + 97 + 93 + 77 + 76) / 5 = 88.6,但是由于使用整数除法,结果转换为 88

示例 2:

输入:items = [[1,100],[7,100],[1,100],[7,100],[1,100],[7,100],[1,100],[7,100],[1,100],[7,100]]输出:[[1,100],[7,100]]

提示:

  • 1 <= items.length <= 1000
  • items[i].length == 2
  • 1 <= IDi <= 1000
  • 0 <= scorei <= 100
  • 对于每个IDi至少存在五个分数

题目比较简单,我们不知道在考啥,直接上代码,看不懂留言或者私信

class Solution { /**这什么乱七八糟的题啊,看着都懵,我猜不出什么解法,但是数据了这么小, 怎么写都能过吧 */ public int[][] highFive(int[][] items) { /**题目规定items的length至少有1,每个id又至少有5个分数 这不扯淡吗,自相矛盾,所以边界我不管了 */ /**先排个序,如果id不同按id从小到大排序,如果id相同按分数从大到小排序*/ Arrays.sort(items, (a, b)->a[0] == b[0]? b[1] - a[1] : a[0] - b[0]); /**然后就挨个遍历呗,每个id只收前五个,收完的平均分放到原数组的前面,所以 我们需要定义一个index代表当前数组的长度(也是下一个要放的位置)*/ int index = 0; /**当前累计的和 */ int curSum = 0; /**当前id已经统计过几门课的分数 */ int curCount = 0; /**当前统计的id是啥 */ int preId = 0; for(int[] item : items) { /**换成新的id,当然所有的都从头起*/ if(item[0] != preId) { curSum = item[1]; curCount = 1; preId = item[0]; } else { /**还是这门课,但是我们前五名统计完了,剩下的直接跳过 */ if(curCount == 5) { continue; } /**不够的情况count++,curSum加上当前课的分数 */ curSum += item[1]; curCount ++; /**加完之后够五个了,收集数据 */ if(curCount == 5) { items[index][0] = preId; items[index ++][1] = curSum / 5; } } } /**定义结果 */ int[][] result = new int[index][2]; /**拷贝结果到结果数组 */ System.arraycopy(items,0,result,0, index); return result; } }

运行结果:

http://www.jsqmd.com/news/330456/

相关文章:

  • 【题解】Atcoder Beginner Contest 443(ABC443) A~E
  • Elasticsearch索引优化策略,提升全文检索查询性能
  • 满意度从62%到95%!礼品公司的员工福利定制实战
  • 光伏-混合储能微电网能量管理系统模型 系统主要由光伏发电模块、mppt控制模块、混合储能系统模...
  • 赋能主机厂供应链质量与效率的数字化引擎——全星APQP供应商研发协同管理软件系统
  • 员工福利定制常见问题解答(2026专家版)
  • Java高频面试题:MyBatis如何处理懒加载和预加载?
  • 混合动力汽车SIMULINK整车模型,并联P2构型,基于规则的控制策略,模型运行及仿真无误
  • 题解:洛谷 P1056 [NOIP 2008 普及组] 排座椅
  • 3500
  • PSO-GRU多变量回归预测:Matlab中的粒子群优化门控循环单元程序
  • 利用fpga搭建永磁同步电机电机svpwm的源码,采用的是verilog搭建底层框架,利用ni...
  • 2026铝板铝皮采购问答式指南
  • 2026智推时代GEO优化对接指南:合作全流程指引
  • Serverless架构实战:使用AWS Lambda构建无服务器数据处理管道
  • 【网友委托的爬虫代码】KanAcademyTranscriptsSprider.py(网站有反爬虫,做不了)
  • 基于ASP的毕业论文管理系统的设计与实现 开题报告
  • Flink在大数据领域的安全漏洞防范
  • 基于Android的课堂教学辅助系统 开题报告
  • 2025年12月Scratch图形化编程等级考试四级真题试卷
  • 2026年1月专业评测|主流GEO优化服务商优选机构权威推荐
  • 别被“伪自律”绑架:为什么你的“中国胃”跑不动“西式沙拉”?
  • 数据中台在大数据领域的应用挑战与解决方案
  • 聚焦国内高端女装连衣裙市场:五大品牌风格解析与核心竞争力盘点
  • 基于ASPNET的音乐网站 开题报告
  • 利用RabbitMQ提升大数据系统的消息吞吐量
  • 揭秘MrBeast爆款视频的底层算法:四小时逆向工程揭示病毒式传播公式
  • 基于Android的校园食堂点餐系统的设计与实现--开题报告
  • 基于Android的玩转化妆美妆APP的设计与实现 开题报告2
  • 题解:P1007 独木桥