华为机试(JAVA)真题Od【A卷+B卷】2023最新版

news2024/10/6 12:35:15

在这里插入图片描述

目录

    • 一、机考攻略
    • 二、机考重要性
    • 三、下面,哪吒将华为OD机试真题归归类,让大家一目而了然。
    • 四、下面分享一道**“2022Q4 100分的路灯照明问题”**,提前体验一下华为OD机试的**“恐怖如斯”**。
      • 1、题目描述
      • 2、输入描述
      • 3、输出描述
      • 4、解题思路
      • 特别鸣谢:感谢fly晨发现这个问题,并提供更优质的算法。
      • 解题思路如下:
      • 5、Java算法源码
      • 6、效果展示
        • 1、输入
        • 2、输出
        • 3、思路
    • 五、还没过瘾?那再分享几道,可以自己跳转刷刷刷~,让你过瘾为止。

大家好,我是哪吒。

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

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,订阅后,专栏内的文章都可看,可加入华为OD刷题群(私信即可),发现新题目,随时更新,全天CSDN在线答疑。

  • 专栏福利:限时订阅49.9,订阅后可加入华为OD刷题群,获得哪吒优先答疑机会(华为OD刷题指导,远程代码调试),群里大佬众多可以抱团取暖,群友刷题经验分享,考试经验分享。

一、机考攻略

三道中等难度题目,总分400分,前两道均为100分,后一道为200分,每道题的时间限制为1S(慎用暴力方法,实在没办法,也可!)。

机考分数是按照题目用例的通过数量的比例算分数,若有的题做不出来,可尽力去写,一些用例通过就有分数。

机考时长2个半小时,若以冲刺机考最高分为目的,则做题时间分配前两道题40分钟,最后一题70分钟(平时练习可以按照40分钟的时限)。

机考分数线根据招聘目标院校和非目标院校有不同,不同华为招聘部门也会有差异,比如前者机考通过线为150分,后者机考通过线为320分。

若以通过机考线为目的,根据自身情况来进行做题时长配置。

  • 机考全程需要打开摄像头,摄像头中不能出现其他人或者宠物,带个小狗和你去考试,这有点过分了吧?
  • 机考全程保证网络稳定;
  • 若机考遇到刷到过的题目,不能照搬网上公开的代码,系统会对代码的相似度进行评估,会被系统判定作弊,建议代码相似度在80%以内;可以通过修改变量名,拆分算法步骤,提取公共方法等手法解决,你懂的~

二、机考重要性

  1. OD招聘过程中,机考和性格测试是由系统判定,第二轮技术面试中会现场写代码的;
  2. OD机考分数越高,有助于申请更高的定级或者薪酬;
  3. 若后续性格测试没通过,机考分数高的话,还可以据此作为申请性格测试重测的依据之一;

三、下面,哪吒将华为OD机试真题归归类,让大家一目而了然。

关于订阅华为OD机试真题的后续问题

  1. 订阅专栏后,专栏内的文章都可看,以后还会继续更新新题
  2. 每道题都包含题目、解题思路、代码详解(关键行包含详细注释)、代码运行截图(保证代码100%正确,通过率100%);
  3. 已经订阅的小伙伴,推荐新人订阅可享 8 折优惠,私信我即可;

在考试的时候,最好不要用CSDN专栏里的源码去答题,因为华为OD机试是有查重的,这个一定要注意!最好是改一改变量名称,加一加注释,改一改逻辑顺序,掌握答题思路才是关键,下面的题中我都加了详细的答题思路,代码中也有详细的注释说明代码运行是100%正确无误的,每一题都有样例测试,全网独一份

如果你刚刚参加完机试考试,欢迎提供真题到哪吒这里,直接红包转账收题。

很多考过的小伙伴,总结了宝贵的经验,多刷题,先易后难,前期积累自信,后期逐一突破,效果最佳。

四、下面分享一道**“2022Q4 100分的路灯照明问题”,提前体验一下华为OD机试的“恐怖如斯”**。

1、题目描述

在一条笔直的公路上安装了N个路灯,从位置0开始安装,路灯之间间距固定为100米。

每个路灯都有自己的照明半径,请计算第一个路灯和最后一个路灯之间,无法照明的区间的长度和。

2、输入描述

第一行为一个数N,表示路灯个数,1<=N<=100000。

第二行为N个空格分隔的数,表示路径的照明半径,1<=照明半径<=100000*100。

3、输出描述

第一个路灯和最后一个路灯之间,无法照明的区间的长度和。

4、解题思路

题目要求计算第一个路灯和最后一个路灯之间无法照明的区间的长度和。

例如:

3
20 70 30
路灯1 覆盖0-20
路灯2 覆盖30-170
路灯3 覆盖170-230

没被覆盖的区间只有20~30。

所以输出10。

在这里插入图片描述
但是,如果路灯的照明范围大于100,怎么办?

特别鸣谢:感谢fly晨发现这个问题,并提供更优质的算法。

在这里插入图片描述

在这里插入图片描述

解题思路如下:

  1. 获取输入的灯数量;
  2. 通过Java8 Steam加载n个路灯的照明半径;
  3. 定义allResList,存储每个灯的照明范围;
  4. 定义maxRight,计算第一个灯和最后一个灯的距离;
  5. 将每个灯的照明范围放入一个集合中(左起点,右终点);
  6. 将每个灯的照明范围按照左起点进行升序排序;
    • 先按左边最小距离排序;
    • 如果左边距离相等的情况下 按照右边距离最小的排序;
  7. 当前节点和下一个节点做比较;
    • 用当前节点的右边照明范围和下一个节点的左边照明范围比较;
    • 大于的情况下 需要将下一个节点的右边距离取两个节点的最大值;
    • 说明两个节点之间存在黑暗距离;
  8. 输出黑暗距离之和totalBlack;

5、Java算法源码

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int lightNum = sc.nextInt();
    // 获取输入的灯数量
    sc.nextLine();
    // n个路灯的照明半径
    List<Integer> allLightLength = Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).boxed().collect(Collectors.toList());

    // 每个灯的照明范围
    List<List<Integer>> allResList = new ArrayList<>();

    // 计算第一个灯和最后一个灯的距离
    int maxRight = (lightNum - 1) * 100;

    // 将每个灯的照明范围放入一个集合中
    for (int i = 0; i < allLightLength.size(); i++) {
        // 当前灯的照明范围,左起点,右终点
        List<Integer> currentList = new ArrayList<>();
        // 左起点,注意左边范围不要小于总范围的最小长度
        Integer left = Math.max(0, i * 100 - allLightLength.get(i));
        // 右终点,注意右边范围不要大于总范围的最大长度
        Integer right = Math.min(maxRight, i * 100 + allLightLength.get(i));
        currentList.add(left);
        currentList.add(right);
        allResList.add(currentList);
    }

    // 将每个灯的照明范围按照左起点进行升序排序
    allResList = allResList.stream().sorted((list1, list2) -> {
        Integer oneLeft = list1.get(0);
        Integer twoLeft = list2.get(0);
        // 先按左边最小距离排序
        if (!oneLeft.equals(twoLeft)) {
            return oneLeft - twoLeft;
        }
        // 如果左边距离相等的情况下  按照右边距离最小的排序
        return list1.get(1) - list2.get(1);
    }).collect(Collectors.toList());

    int totalBlack = 0;
    // 当前节点和下一个节点做比较
    for (int i = 0; i < lightNum - 1; i++) {
        List<Integer> currentList = allResList.get(i);
        List<Integer> nextList = allResList.get(i + 1);

        // 用当前节点的右边照明范围和下一个节点的左边照明范围比较
        if (currentList.get(1) >= nextList.get(0)) {
            // 大于的情况下 需要将下一个节点的右边距离取两个节点的最大值
            nextList.set(1, Math.max(currentList.get(1), nextList.get(1)));
            continue;
        }
        // 说明两个节点之间存在黑暗距离
        int currentBlackLength = nextList.get(0) - currentList.get(1);
        totalBlack += currentBlackLength;
    }

    System.out.println(totalBlack);
}

6、效果展示

1、输入

4
20 70 175 10

2、输出

5

3、思路

在这里插入图片描述

在这里插入图片描述

五、还没过瘾?那再分享几道,可以自己跳转刷刷刷~,让你过瘾为止。

1、华为OD机试真题 Java 实现【二维伞的雨滴效应】【2023 B卷 100分】,附详细解题思路

2、华为OD机试真题 Java 实现【宜居星球改造计划】【2023 Q2 200分】,附详细解题思路

3、华为OD机试真题 Java 实现【IPv4地址转换成整数】【2023 B卷 100分】

4、华为OD机试真题 Java 实现【字符统计】【2023 B卷 100分】

5、华为OD机试真题 Java 实现【食堂供餐】【2023 B卷 考生抽中题】,附详细解题思路

6、华为OD机试真题(Java),跳跃游戏 II(100%通过+复盘思路)

7、华为OD机试真题 Java 实现【拼接URL】【2023 B卷 100分】,附详细解题思路

8、华为OD机试真题 Java 实现【找终点】【2023 B卷 100分】,附详细解题思路

9、华为OD机试真题 Java 实现【猴子爬山】【2023 B卷 100分】,附详细解题思路

10、华为OD机试真题 Java 实现【滑动窗口】【2023 B卷 100分】,附详细解题思路

未完待续…

在这里插入图片描述

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

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

相关文章

二、DDL-2.表操作-创建查询

一、查询所有表 1、查询当前数据库所有表 首先进入数据库itheima&#xff1a; use itheima; 查看itheima数据库的所有表&#xff1a; show tables; ——该数据库是新建的&#xff0c;下面没有表 切换到sys数据库&#xff0c;查看sys下的所有表&#xff1a; 2、查询表结构、…

【FPGA】基于C5的第一个SoC工程

文章目录 前言SoC的Linux系统搭建 前言 本文是在毕业实习期间学习FPGA的SoC开发板运行全连接神经网络实例手写体的总结。 声明&#xff1a;本文仅作记录和操作指南&#xff0c;涉及到的操作会尽量细致&#xff0c;但是由于文件过大不会分享文件&#xff0c;具体软件可以自行搜…

2023年NOC决赛-加码未来编程赛项决赛模拟题-Python模拟题--卷6

第一题 题目:回文字符串是指正序(从左向右)和倒序(从右向左)读都是一样的字符串。 输入一个字符串,在只考虑字母的前提下,判断该字符串是否为回文字符串 【输入格式】输入数据只有一行,一个字符串 s 【输出格式】True 或者 False 在只考虑字母(区分大小写)的情况…

Linux5.17 Ceph应用

文章目录 计算机系统5G云计算第四章 LINUX Ceph应用一、创建 CephFS 文件系统 MDS 接口1.服务端操作2.客户端操作 二、创建 Ceph 块存储系统 RBD 接口三、创建 Ceph 对象存储系统 RGW 接口四、OSD 故障模拟与恢复 计算机系统 5G云计算 第四章 LINUX Ceph应用 一、创建 CephF…

学会快速排序库函数qsort的使用以及实现

qsort的使用使用细节一完成代码 qsort的实现&#xff08;用冒泡排序&#xff09;写法一写法二完整代码 qsort的使用 qsort函数的官方介绍: 点这里 qsort函数需要包含头文件<stdlib.h> qsort函数有四个参数&#xff0c;逐一介绍 base&#xff1a;指向数组中要排序的第一…

趁同事上厕所的时间,看完了 Dubbo SPI 的源码,瞬间觉得 JDK SPI 不香了

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小黄&#xff0c;独角兽企业的Java开发工程师&#xff0c;CSDN博客专家&#xff0c;阿里云专家博主&#x1f4d5;系列专栏&#xff1a;Java设计模式、Spring源码系列、Netty源码系列、Kafka源码系列、JUC源码…

大数据平台测试-git常用操作(白盒测试基础)

一、前言 学习Git是非常有价值和重要的&#xff0c;无论是一个个人开发者还是在团队中进行协作开发。以下是一些学习Git的原因&#xff1a; 版本控制&#xff1a;Git是目前最流行的分布式版本控制系统&#xff0c;可以帮助你跟踪、管理和控制代码的版本。你可以轻松地回退到先…

gee架设教程

1:GameCenter 设置 1.1服务器控制 1.2 账号 1.3.1 配置向导 - 基本设置 1.3.2 配置向导 - 登录网关 1.3.3 配置向导 - 角色网关 1.3.4 配置向导 - 游戏网关 1.3.5 配置向导 - 登录服务器 1.3.6 配置向导 - 数据库服务器 1.3.7 配置向导 - 日志服务器 1.3.8 配置向导 - 主服务器…

SAP/ABAP(一)

一、什么是ERP ERP 是企业资源规划&#xff08;Enterprise Resource Planning&#xff09;的缩写&#xff0c;它指的是一种集成化的管理软件系统&#xff0c;用于协调企业内部各个部门的活动&#xff0c;并与外部供应商、客户以及其他利益相关方进行信息和业务流程的交互。 二、…

4.4.tensorRT基础(1)-模型推理时动态shape的具体实现要点

目录 前言1. 动态shape2. 补充知识总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程&#xff0c;之前有看过一遍&#xff0c;但是没有做笔记&#xff0c;很多东西也忘了。这次重新撸一遍&#xff0c;顺便记记笔记。 本次课程学习 tensorRT 基础-模型推理时动态 shape 的…

科大讯飞星火认知大模型实在是太牛逼了吧,可以和人类进行自然交流,解答问题,高效完成各领域认知智能需求。

星火认知大模型&#xff1a;探索人工智能的无限可能 在21世纪的今天&#xff0c;人工智能技术已经逐渐成为推动社会发展的重要力量。作为一种模拟人类智能的技术手段&#xff0c;人工智能在各个领域都展现出了强大的应用潜力。而在这个领域中&#xff0c;星火认知大模型无疑是…

awk用法--一次性匹配文件中的多个文本,保存成不同的参数

功能描述&#xff1a; 需要从某个文件中读取多个指标的数据&#xff0c;并保存下来&#xff0c;读取的时候需要一次性读取出多个数据&#xff0c;之后将数据写入到结果文件 代码示例 主要逻辑&#xff1a; 1、 匹配包含MemTotal的字符串&#xff0c;并将匹配到的行的倒数第二列…

【电子学会】2023年05月图形化三级 -- 绘制多彩五角星

绘制多彩五角星 1. 准备工作 &#xff08;1&#xff09;选择背景stars、角色Pencil&#xff1b; &#xff08;2&#xff09;将角色Penci的中心点设为笔尖。 2. 功能实现 &#xff08;1&#xff09;将画笔粗细设为3&#xff0c;画笔的颜色和初始位置自定义&#xff0c;绘制边…

【gis插件】arcgis插件界址点编号工具、C#实现思路

数据&#xff1a;界址点图层、宗地图层 要求&#xff1a;找出宗地对应的所有界址点号&#xff0c;对这些界址点号以J1开始按顺序排列 要找出宗地所对应的所有界址点号&#xff0c;这里只要执行一个标识 即可得到这样得到的结果。 难点在于对界址点的编号&#xff0c;经过检查…

c语言小项目——通讯录初阶

通讯录中阶&#xff1a;点这里 通讯录&#xff08;初阶&#xff09; 项目简介项目中遇到的难点1.给复杂结构体初始化错误写法正确写法 2.枚举和switch可以结合一下&#xff0c;方便查看switch的case中是什么功能&#xff0c;double3.ShowContact中printf的新认知4.FindByName加…

Vue 打包到生产环境部署后图标不见了

问题描述&#xff1a;打包完后部署到正式环境有些图标不显示&#xff0c;如下图&#xff0c;显示为小方块。 解决方案&#xff1a; 这个问题可能是vue-cli脚手架配置问题 在build/webpack.prod.conf.js中 把extract&#xff1a;true 改为 fasle&#xff0c;然后再重新build就…

商城-学习整理-基础-项目简介和分布式概念(一)

目录 前言&#xff1a;一、项目简介1、项目背景2、项目架构图 二、分布式基础概念1、微服务2、集群&分布式&节点3、远程调用4、负载均衡5、服务注册/发现&注册中心6、配置中心7、服务熔断&服务降级8、APP网关 前言&#xff1a; 该项目基于逆向工程进行开发&am…

nginx+lua+redis环境搭建(文末赋上脚本)

目录 需求背景 环境搭建后nginx和redis版本 系统环境 搭建步骤 配置服务器DNS 安装ntpdate同步一下系统时间 安装网络工具、编译工具及依赖库 创建软件包下载目录、nginx和redis安装目录 下载配置安装lua解释器LuaJIT 下载nginx NDK&#xff08;ngx_devel_kit&#xff09…

51单片机学习--独立按键控制LED

功能&#xff1a;按下K1时D1亮&#xff0c;松开时D1灭&#xff0c;P3_1对应K1 , P2_0对应D1 #include <REGX52.H>void main() {while(1) {if(P3_1 0) //按下K1{P2_0 0;}else{P2_0 1;}}} 按下按钮和松开按钮时会有抖动&#xff0c;所以需要用延时函数来避免抖动造成的…

C国演义 [第十章]

第十章 最佳买卖股票时机含冷冻期题目理解步骤dp数组递推公式初始化遍历方向 代码 买卖股票的最佳时机含手续费题目理解步骤dp数组递推公式初始化遍历方向 代码 最佳买卖股票时机含冷冻期 力扣链接 给定一个整数数组prices&#xff0c;其中第 prices[i] 表示第 i 天的股票价格…