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

news2024/11/27 14:50:21

在这里插入图片描述

目录

    • 专栏导读
    • 一、题目描述
    • 二、输入描述
    • 三、输出描述
    • 四、解题思路
      • 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.coloradmin.cn/o/793752.html

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

相关文章

去掉mysql数据库表中日期时间字段的6位微秒

问题&#xff1a; 在DRF框架的models.py中有一个字段&#xff1a; create_time models.DateTimeField(auto_now_addTrue) 问题是在向数据库中插入数据时&#xff0c;此字段会带有6位的微秒&#xff0c;对精度要求没那么高&#xff08;看着很不爽&#xff09;&#xff0c;需…

每日一题——多数元素

多数元素 题目链接 方法一&#xff1a;暴力解法 直接利用两层循环&#xff0c;外层循环用来枚举数组的每一个元素&#xff0c;内层循环用来计算每个元素出现的次数&#xff0c;这样就可以求出多数元素了。 显然&#xff0c;这个方法的时间复杂度为O(N^2)&#xff0c;效率太低…

C#is、as关键字及获取当前活动窗体的实例

这篇日志记录一下C#中is关键字及as关键字的用法。 Is&#xff1a;判断检查对象是否与给定类型兼容 As&#xff1a;将对象转换为指定类型&#xff08;强转&#xff09;&#xff0c;就跟&#xff08;int&#xff09;这样的用法是一样的。 获取当前窗体的活动子窗体。 有一个属…

【暑期每日一练】 day6

目录 选择题 &#xff08;1&#xff09; 解析 &#xff08;2&#xff09; 解析 &#xff08;3&#xff09; 解析 &#xff08;4&#xff09; 解析 &#xff08;5&#xff09; 解析 编程题 题一 描述 示例 提示 解析 代码实现 题二 描述 示例 提示 解…

如何将表格中的状态数据转换为Tag标签显示

考虑到系统前端页面的美观程度&#xff0c;通常通过Tag标签来代替某条数据中的状态信息。仅通过一点操作&#xff0c;便能够使得页面美观程度得到较大提升&#xff0c;前后对比如下所示。代码基于Vue以及Element-ui组件实现。 修改前&#xff1a; 修改后&#xff1a; 修改前…

阿里内部一份手打 524 页《Java 中高级核心知识》令人醍醐灌顶

说在前面 知乎上有个很热门的话题&#xff1a;中国的程序员数量是否已经饱和或者过剩&#xff1f; 今年大家都有一个共同的感受&#xff1a;工作不好找&#xff0c;面试越来越难。 其实&#xff0c;造成这种现象不仅是因为今年受疫情影响&#xff0c;倒闭了很多公司&#xff…

Excalidraw 简介及 Docker Compose 部署指南

家人们好&#xff0c;我们在工作生活中经常需要画些图&#xff0c;我们往期了已经出过draw-io私有化部署的文章了&#xff0c;今天我要向大家介绍一款名为 Excalidraw 的绘图工具&#xff0c;这款工具了我个人非常喜欢使用&#xff0c;是因为它可以修改成类似于手写体的字体&am…

IDEA Groovy 脚本一键生成实体类<mybatisplus>

配置数据库&#xff08;mysql&#xff09; 一键生成&#xff08;右键点击table&#xff09; 配置自己的groovy脚本 import com.intellij.database.model.DasTable import com.intellij.database.util.Case import com.intellij.database.util.DasUtil import com.intellij.data…

Vue过度与动画

Test.vue:元素外面包一层transition&#xff0c;展示的时候就默认调用style里面的v-enter-action和v-leave-action执行进入和退出效果&#xff0c;appear上来默认展示动画效果 <template><div><button click"isShow !isShow">显示/隐藏</butto…

消息队列- 背景知识

这里写目录标题 前言消息队列消息队列的作用常见的消息队列消息队列的核心概念BrokerServer核心概念消息队列的核心API消息队列与消费者之间的工作模式交换机的类型消息队列的持久化 总结 前言 消息队列,不知道大家是否陌生,如果说消息队列感到陌生的话, 有一个模型肯定大家都…

【驱动开发day4作业】

头文件代码 #ifndef __HEAD_H__ #define __HEAD_H__ typedef struct{unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int ODR; }gpio_t; #define PHY_LED1_ADDR 0X50006000 #define PHY_LED2_ADDR 0X50007000 #…

springboot 自定义注解 ,实现接口限流(计数器限流)【强行喂饭版】

思路&#xff1a;通过AOP拦截注解标记的方法&#xff0c;在Redis中维护一个计数器来记录接口访问的频率&#xff0c; 并根据限流策略来判断是否允许继续处理请求。 另一篇&#xff1a;springboot 自定义注解 &#xff0c;aop切面Around&#xff1b; 为接口实现日志插入【强行喂…

LeetCode第 N 个泰波那契数 (认识动态规划)

认识动态规划 编写代码代码空间优化 链接: 第 N 个泰波那契数 编写代码 class Solution { public:int tribonacci(int n) {if(n 0){return 0;}else{if(n 1 || n 2)return 1;}vector<int> dp(n 1);dp[0] 0;dp[1] 1;dp[2] 1;for(int i 3;i < n;i){dp[i] dp[i-3]…

多巴胺色彩青春来袭!体验全能轻薄本华硕无畏Pro15 2023

这个烈日炎炎的夏季&#xff0c;还是来临了&#xff01; 40℃的高温&#xff0c;恍然才知道这个地球真的是在“发光发热”&#xff0c;对于莘莘学子来说&#xff0c;青春的炙热与憧憬也在即将告别的毕业季中变得热烈。回首停留在校园中的一幕幕&#xff0c;总有一些记忆&#…

javascript 7种继承-- new操作符的原理以及实现

new 运算符 new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。 MDN参考资料&#xff1a;点击 语法 new constructor[([arguments])]参数 constructor 一个指定对象实例的类型的类或函数。 arguments 一个用于被 constructor 调用的参数列表。 …

JAVA基础-基于多线程的聊天程序

引言 什么是程序 &#xff1f; 一个程序可以有多个进程 。程序是一段静态的代码&#xff0c;它是应用程序执行的蓝本。 什么是进程 &#xff1f; 一个进程可以有多线程 进程是指一种正在运行的程序&#xff0c;有自己的地址空间。 作为蓝本的程序可以被多次加载到系统的不同内…

Visual Studio Code配置免密远程开发环境

VSCode安装插件 要是想连接远程服务器&#xff0c;先在本地安装下面的插件&#xff08;红色圈起来的需要装&#xff09; 连接远程服务器 配置服务器信息 保存然后再连接&#xff0c;输入密码&#xff0c;如果能连接上说明是没问题的&#xff0c;下面开始免密登录 免密配置 客…

【多线程带来的的风险-线程安全的问题的简单实例-线程不安全的原因】

文章目录 前言线程不安全的5大原因1. 抢占式执行和随机调度2. 多个线程同时修改一个变量(共享数据&#xff09;3. 修改操作不是原子性的4. 内存可见性5. 指令重排序 前言 什么是线程安全&#xff1f; 简单来说&#xff0c;如果多线程环境下代码运行的结果是符合我们预期的&am…

7月《中国数据库行业分析报告》已发布,聚焦图数据库、首发【全球图数据库产业图谱】

为了帮助大家及时了解中国数据库行业发展现状、梳理当前数据库市场环境和产品生态等情况&#xff0c;从2022年4月起&#xff0c;墨天轮社区行业分析研究团队出品将持续每月为大家推出最新《中国数据库行业分析报告》&#xff0c;持续传播数据技术知识、努力促进技术创新与行业生…

Yunfly 一款高效、性能优异的node.js企业级web框架

介绍 Yunfly 一款高性能 Node.js WEB 框架, 使用 Typescript 构建我们的应用。 使用 Koa2 做为 HTTP 底层框架, 使用 routing-controllers 、 typedi 来高效构建我们的 Node 应用。 Yunfly 在 Koa 框架之上提升了一个抽象级别, 但仍然支持 Koa 中间件。在此基础之上, 提供了一…