华为OD机试真题 Java 实现【数据分类】【2023 B卷 100分】,附详细解题思路

news/2025/2/22 17:57:56/

在这里插入图片描述

目录

    • 专栏导读
    • 一、题目描述
    • 二、输入描述
    • 三、输出描述
    • 四、解题思路
      • 1、输入
      • 2、输出
      • 3、解题思路
    • 五、Java算法源码
    • 六、效果展示
      • 1、输入
      • 2、输出

华为OD机试 2023B卷题库疯狂收录中,刷题点这里

专栏导读

本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

一、题目描述

对一个数据a进行分类,分类方法是,此数据a(4个字节大小)的4个字节相加对一个给定值b取模。

如果得到的结果小于一个给定的值c则数据a为有效类型,其类型为取模的值。

如果得到的结果大于或者等于c则数据a为无效类型。

比如一个数据a = 0x01010101,b = 3,按照分类方法计算:(0x01 + 0x01 + 0x01 + 0x01) % 3 = 1。

所以如果c等于2,则此a就是有效类型,其类型为1;如果c等于1,则此a是无效类型。

又比如一个数据a = 0x01010103,b = 3,按分类方法计算:(0x01 + 0x01 + 0x01 + 0x03) % 3 = 0。

所以如果c = 2则此a就是有效类型,其类型为0,如果c = 0则此a是无效类型。

输入12个数据,第一个数据为c,第二个数据为b,剩余10个数据为需要分类的数据。

请找到有效类型中包含数据最多的类型,并输出该类型含有多少个数据。

二、输入描述

输入12个数据用空格分割,第一个数据为c,第二个数据为b,剩余10个数据为需要分类的数据。

三、输出描述

请找到有效类型中包含数据最多的类型,并输出该类型含有多少个数据。

四、解题思路

1、输入

3 4 256 257 258 259 260 261 262 263 264 265

2、输出

3

3、解题思路

示例中 第三个256可以用4字节表示,具体表示方法如下:

将256转换成二进制数,得到 100000000

由于4字节等于32位,因此将上述二进制数左侧补充24个0,

得到00000000 00000000 00000001 00000000

将上述二进制数每8位分为一组,分别转换成十进制数,得到 0、0、1、0

将上述4个十进制数相加取模得到1。

五、Java算法源码

package com.guor.od;import java.util.*;public class OdTest {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int[] input = Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();int[] a = new int[10];int c = input[0];int b = input[1];for (int i = 0; i < 10; i++) {a[i] = input[i+2];}Map<Integer, Integer> data_map = new HashMap<>();for (int i = 0; i < 10; i++) {int s = 0;while (a[i] > 0) {s += a[i] % 256;a[i] /= 256;}s %= b;if (s < c) {data_map.put(s, data_map.getOrDefault(s, 0) + 1);}}int result = 0;for (int value : data_map.values()) {result = Math.max(result, value);}System.out.println(result);}
}

六、效果展示

1、输入

3 4 256 257 258 259 260 261 262 263 264 265

2、输出

3

在这里插入图片描述


🏆下一篇:华为OD机试真题 Java 实现【路灯照明问题】【2022Q4 100分】,感谢fly晨发现这个问题,并提供更优质的算法

🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述


http://www.ppmy.cn/news/981078.html

相关文章

nginx吞吐量调优

调整worker_processes和worker_connections&#xff1a; worker_processes&#xff1a;设置为服务器的CPU核心数或更高。例如&#xff0c;如果服务器有8个CPU核心&#xff0c;可以将worker_processes设置为8。worker_connections&#xff1a;设置每个worker进程所能处理的最大连…

腾讯校园招聘技术类编程题汇总

题解&#xff1a;并查集&#xff08;模板&#xff09; #include <iostream> #include<map> using namespace std; int father[2000006]; int rank1[1000005]; void init(int n){for(int i1;i<1e5;i){father[i]i;rank1[i]1;} } int find(int x){if(father[x]x){…

064、故障处理之OMM_TiDB

oom 内存溢出&#xff0c;内存泄漏&#xff0c;相当于TiDB不能用了 TiDB Server OOM对业务的影响 TiDB Server上的业务SQL会失败业务响应时间升高前端体验变差 诊断方法 客户端应用 ERROR 2013(HY000): Lost connection to MySQL Server during query日志 dmesg -T | gr…

Docker Compose容器的快速编排

Docker Compose容器的快速编排 一、Docker Compose简介1、Docker Compose是什么2、Docker Compose三大概念 二、Docker Compose 安装与操作1、环境安装2、YAML文件格式及编写注意事项3、Docker Compose配置常用字段4、Docker Compose常用命令5、Docker Compose文件结构6、删除创…

c# Outlook检索设定问题

基于c# 设定outlook约会予定&#xff0c;时间格式是YYYY-MM-DD HH:mm 的情报。 问题发生&#xff1a; 根据开始时间&#xff08;2023/01/01 7:00&#xff09;条件查询该时间是否存在outlook信息时&#xff0c;明明存在一条数据&#xff0c;就是查询不出来数据 c#代码 Strin…

maven的基本学习

maven https://www.bilibili.com/video/BV14j411S76G?p1&vd_source5c648979fd92a0f7ba8de0cde4f02a6e 1.简介 1.1介绍 Maven翻译为"专家"、“内行”&#xff0c;是Apache下的一个纯Java开发的开源项目。基于项目对象模型(缩写:POM)概念&#xff0c;Maven利用一…

腾讯云高IO型云服务器CPU型号处理器主频性能

腾讯云服务器高IO型CVM实例CPU处理器主频性能说明&#xff0c;高IO型云服务器具有高随机IOPS、高吞吐量、低访问延时等特点&#xff0c;适合对硬盘读写和时延要求高的高性能数据库等I/O密集型应用&#xff0c;腾讯云服务器网分享高IO型云服务器IT5和IT3的CPU处理器说明&#xf…

路由器(第二十五课)

路由器的深入学习 一、路由 1、路由 1) 什么是路由:路由就是数据包从一个网络到另外一外网络的过程 2)支持路由功能的设备:路由器、三层交换机、防火墙 3 路由器转发数据包的依据: -每一台路由器都维护着一张路由表 -路由器是依靠这张路由表来转发数据的 -这张路由表就…