华为od机试真题——智能成绩表

题目描述

在这里插入图片描述

算法结果

3 3
math chinese english
z3 71 81 91
l4 81 71 93
w5 21 91 95
math
l4 81 71 93 245 
z3 71 81 91 243 
w5 21 91 95 207 

算法详情

public class SmartScoreTable {public static void main(String[] args) {// 输入Scanner scanner = new Scanner(System.in);String[] inputNumber = scanner.nextLine().split(" ");// 学生人数int n = Integer.parseInt(inputNumber[0]);// 科目数量int m = Integer.parseInt(inputNumber[1]);// 科目String[] subjects = scanner.nextLine().split(" ");// 第一列为学生名字,最后一列为总分String[][] scores = new String[n][m + 2];for (int i = 0; i < n; i++) {String[] score = scanner.nextLine().split(" ");System.arraycopy(score, 0, scores[i], 0, score.length);}// 排序科目String sortSubject = scanner.nextLine();scanner.close();// 计算总分calTotalScore(scores);// 排序科目在科目数组中的下标int index = Arrays.stream(subjects).collect(Collectors.toList()).indexOf(sortSubject);List<String[]> result = Arrays.stream(scores).collect(Collectors.toList());result.sort(new Comparator<String[]>() {@Overridepublic int compare(String[] o1, String[] o2) {return compareRule(o1, o2, index);}});// 输出for (String[] score : result) {String output = "";for (String str : score) {output = output + str + " ";}System.out.println(output);}}/*** 排序规则** @param str1  分数字符数组1* @param str2  分数字符数组2* @param index 排序科目在科目数组中的下标* @return 比较结果*/private static int compareRule(String[] str1, String[] str2, int index) {int len = str1.length;// index为-1,按总分排序if (index == -1) {// 总分相等,按名字排序if (Integer.parseInt(str2[len - 1]) - Integer.parseInt(str1[len - 1]) == 0) {return str1[0].compareTo(str2[0]);}return Integer.parseInt(str2[len - 1]) - Integer.parseInt(str1[len - 1]);} else {// index + 1为科目在分数数组中的下标,第一列为学生名if (Integer.parseInt(str2[index + 1]) - Integer.parseInt(str1[index + 1]) == 0) {return str1[0].compareTo(str2[0]);}return Integer.parseInt(str2[index + 1]) - Integer.parseInt(str1[index + 1]);}}/*** 计算学生总分** @param scores 分数数组*/private static void calTotalScore(String[][] scores) {int rows = scores.length;int cols = scores[0].length;for (int i = 0; i < rows; i++) {int total = 0;for (int j = 1; j < cols - 1; j++) {total += Integer.parseInt(scores[i][j]);}// 最后一列为总分scores[i][cols - 1] = Integer.toString(total);}}
}

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

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

相关文章

一款pdf工具

下载链接&#xff1a;点击跳转&#xff1b; 它是一个installer&#xff0c;下好它之后&#xff0c;把网断掉&#xff0c;然后双击它&#xff0c;他会默认安装在C盘&#xff0c;安装时&#xff0c;浏览器可能会有一个弹窗&#xff0c;直接关掉并进入任务管理器杀掉所有smallerp…

小清新思维题

CF521D shop Problem Solution 首先如果确定了执行的操作&#xff0c;执行顺序一定为赋值、加、乘。赋值操作只保留最大的&#xff0c;并可以转化为加法。每个数的加法操作按从大到小顺序排序后可以转化为乘法。最后将所有乘法操作从大到小排序选前&#x1d45a;个即可。 先…

Java基础之接口、权限修饰符、内部类、Object类

java基础 1.接口 public class Interface1 {public static void main(String[] args) {/*TODO 接口&#xff1a;1.为什么需要接口&#xff1f;对于某一些类来说&#xff0c;需要对其添加一些额外的拓展功能&#xff0c;但是这些功能在具体的类中具有不同的实现方式对于个人电…

VMware 15 虚拟机网络遇到的问题

剧情提要 通过Cent os7 的镜像文件&#xff0c;创建了一个虚拟机A&#xff08;后面简称A&#xff09;&#xff0c;事后发现&#xff0c;宿主机无法ping通A 在虚拟机中通过IP a 看到的IP信息也没有只管的ip信息如图 然后执行&#xff0c;宿主机才能访问A。 sudo dhclient ens…

nginx日志自定义和统计处理

1.默认日志配置解析 access.log日志用处 统计站点访问IP来源、某个时间段的访问频率查看访问最频的页面、http响应状态码、接口性能接口秒级访问量、分钟访问量、小时和天访问量 默认配置解析 #log_format main $remote_addr - $remote_user [$time_local] "$request&q…

四信AI睿析—边缘智脑:赋能农业新时代,开启智慧种植新篇章

方案简介 本系统前端安装土壤墒情监测站&#xff0c;包括温湿度传感器、二氧化碳传感器、PH值传感器、土壤电导率传感器、土壤温湿度传感器、光照传感器等组成&#xff1b;高清枪机摄像头等、负责种植区域温湿度、土壤EC、土壤温湿度、光照等环境因子、视频数据、农作物生长图…

Djange解决跨域问题

Djange解决跨域问题 安装 django-cors-headers将 CORS 中间件添加到项目设置配置 CORS 策略为特定的 API 视图开启 CORS 在 Django 中解决跨域资源共享&#xff08;CORS&#xff09;问题&#xff0c;通常涉及到后端接受来自不同域的前端请求。为了安全起见&#xff0c;浏览器限…

CSS3多列(详解网页多列布局应用)

目录 一、多列介绍 1.概念 2.特点 3.常用功能 二、多列用法 1.列数和宽度控制 2.列间距和规则 3.跨列和分列内容 4.列宽度自动调整 5.垂直对齐 三、多列实例 1.多列布局 2.导航菜单 四、总结 一、多列介绍 1.概念 CSS3 多列布局是一种用于排列文本内容的 CSS 模块…

加速大数据分析:Apache Kylin使用心得与最佳实践详解

Apache Kylin 是一个开源的分布式分析引擎&#xff0c;提供了Hadoop之上的SQL接口和多维分析&#xff08;OLAP&#xff09;能力以支持大规模数据。它擅长处理互联网级别的超大规模数据集&#xff0c;并能够进行亚秒级的查询响应时间。Kylin 的主要使用场景包括大数据分析、交互…

全自动开箱机:从原理到应用,全面解析自动化装箱技术

随着科技的飞速发展&#xff0c;自动化技术在各行各业的应用越来越广泛。其中&#xff0c;全自动开箱机作为现代物流领域的重要设备&#xff0c;以其高效、精准的特点&#xff0c;受到了广大企业的青睐。与星派全面解析全自动开箱机的原理、应用领域以及它所带来的变革。 一、…

Vins-mono中的IMU预积分【SLAM】

世界系下连续时间的IMU积分 w w w代表世界系&#xff0c; b k b_{k} bk​代表第k帧图像。 在 [ t k , t k 1 ] [t_{k}, t_{k1}] [tk​,tk1​]时间段内&#xff0c;有通过加速度和角速度在连续时间下的积分&#xff1a; p b k 1 w p b k w v b k w Δ t k ∬ t ∈ [ t k ,…

插入排序的可视化实现(Python)

插入排序的Python代码 import tkinter as tk import random import timeclass InsertionSortVisualizer:def __init__(self, root, canvas_width800, canvas_height400, num_bars10):self.root rootself.canvas_width canvas_widthself.canvas_height canvas_heightself.nu…

单片机 VS 嵌入式LInux

linux 嵌入式开发岗位需要掌握Linux的主要原因之一是&#xff0c;许多嵌入式系统正在向更复杂、更功能丰富的方向发展&#xff0c;需要更强大的操作系统支持。而Linux作为开源、稳定且灵活的操作系统&#xff0c;已经成为许多嵌入式系统的首选。以下是为什么嵌入式开发岗位通常…

国家市场监督管理总局令第90号

非法定计量单位限制使用管理办法 2024年3月18日国家市场监督管理总局令第90号公布 自2024年6月1日起施行 第一条 为了保证国家计量单位制的统一&#xff0c;加强非法定计量单位的使用管理&#xff0c;根据《中华人民共和国计量法》等有关法律、行政法规&#xff0c;制定本办…

什么是掩码补丁位置?

掩码补丁位置&#xff08;Masked Patch Position&#xff09;是一个在视觉任务处理中使用的概念&#xff0c;特别是在处理图像分割等任务时。 在深度学习和计算机视觉领域&#xff0c;掩码&#xff08;Mask&#xff09;常用于指示模型关注或忽略输入数据的特定部分。在基于补丁…

登录的几种方式

一、session 1、客户端发送请求&#xff0c;服务器将登录信息存储在 Session 中&#xff0c;Session 依赖于 Cookie&#xff08;cookie指的就是在浏览器里面存储的一种数据&#xff0c;仅仅是浏览器实现的一种数据存储功能。Cookie实际上是一小段的文本信息。&#xff09;&…

【行为型模式】状态模式

一、状态模式概述 状态模式的定义&#xff1a;允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。(对象行为型) 策略模式和状态模式是双胞胎&#xff0c;在出生时才分开。 策略模式是围绕可以互换的算法来创建成功业务的。状态模式走的是更崇高的路&#xff0…

全民拼购:社交电商与拼购玩法的完美结合

大家好&#xff0c;我是微三云周丽&#xff0c;今天给大家分析当下市场比较火爆的商业模式&#xff01; 小编今天跟大伙们分享什么是社交电商与拼购玩法的wan美结合&#xff1f; 随着社交电商和拼购玩法的兴起&#xff0c;全民拼购模式正逐渐成为电商行业的新宠。结合了人性化…

CSS中的display: flex;

display: flex; 是CSS&#xff08;层叠样式表&#xff09;中用于设置容器为弹性盒子模型&#xff08;Flexbox&#xff09;的属性值。弹性盒子模型是CSS3中引入的一个新的布局模式&#xff0c;它设计用来更好地在容器中布局、对齐和分配空间给子元素&#xff08;即容器内的项目&…

Github账号注册

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…