华为OD机试真题2022Q4 A + 2023 B卷(Java)

news2024/11/16 7:30:07

在这里插入图片描述
大家好,我是哪吒。

五月份之前,如果你参加华为OD机试,收到的应该是2022Q4或2023Q1,这两个都是A卷题。

5月10日之后,很多小伙伴收到的是B卷,那么恭喜你看到本文了,抓紧刷题吧。B卷新题库正在更新中

华为机试有三道题,第一道和第二道属于简单题,分值为100分,第三道为困难题,分值为200分,总分400分,150分钟考试时间

华为的考试平台是牛客网,大家可以提前去牛客网找到华为机考门槛进行练习,主要是熟悉平台操作练习一下怎么处理输入输出哈!后面我也分享了很多牛客网上的华为OD试题。

华为机考的分数是按照测试用例通过的比例来确定的,比如第一题满分100,如果你提交代码后显示测试用例通过率为80%,那么这道题你就只能得80分,所以其实成绩你在考试的时候就心知肚明了!

150分是华为统一的通过分数线。但各部门的要求又不一样,通常非目标院校的分数要求更高些。300+是高分,260+是较为安全的分数。总之分数越高越高,对后续的定级、综面、HR审批都有益处。

一般来说对接你的HR会问你啥时候可以笔试,你觉得准备的ok了就会发你一个机考链接,这个机考链接的有效期为7天,你在这七天时间内找个时间参加考试即可!华为OD机考会影响薪资的,300分以上和300分一下的价格是不一样的,所以我建议大家好好准备争取超过300分,能拿高分就拿高分。

机试没考过的话,会有半年的冷冻期。

为什么我说华为机考并不难,原因很简单,因为这个考试是有题库的!你在进入机考页面的时候网页上会显示正在组卷中,其实就是去题库里找两个简单题一道复杂题。既然这是一场有题库的考试,那我们最重要的当然是获取最全面的题库对吧,这个大家放心我已经帮大家整理好了,未来也会持续更新!

我觉得准备机考前的第一件事是选择一门合适的编程语言,华为机考对编程语言是没有限定的,你可以选择自己最喜欢的编程语言。考虑到大部分华为OD的应聘者都是技术基础较为薄弱甚至非科班的同学,我还是满建议大家使用Java来应付机考还有后面的手撕代码的,当然如果你会JS、Python、C++的话也可以用来考试。

如果基于我提供的题库开始认认真真刷题,不开玩笑的说遇到原题是肯定的,正常情况下遇到两道原题是不难的,很多同学是直接三题全部命中!因为华为题库三个月会更新一部分新题进来,所以大家尽量不要在新题刚刚更新的时候去做,建议在新题发布一个月后再考我感觉命中两道很正常的!

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

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

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

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

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

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

下面从最新题开始分享、按时间倒序、按难以程度正序排序,做到刷题的循序渐进。

2023 5月 B卷 “新加题”(100分值)

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

2、华为OD机试真题 Java 实现【跳房子II】【2023 B卷 100分】,附详细解题思路

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

4、华为OD机试真题 Java 实现【异常的打卡记录】【2023Q1 100分】

5、华为OD机试真题 Java 实现【文件目录大小】【2023 B卷 100分】,附详细解题思路

6、华为OD机试真题 Java 实现【数字游戏】【2023 B卷 100分】,附详细解题思路

7、华为OD机试真题 Java 实现【告警抑制】【2023 B卷 100分】,附详细解题思路

8、华为OD机试真题 Java 实现【最多获得的短信条数】【2023Q1 100分】,附详细解题思路

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

10、华为OD机试真题 Java 实现【字符串摘要】【2023 B卷 100分】,附详细解题思路

🏆更多华为OD真题,查看华为OD机试(JAVA)真题(A卷+B卷)

2022Q4 100分

1、华为OD机试真题 Java 实现【报数游戏】【2022Q4 100分】

2、华为OD机试真题 Java 实现【水仙花数】【2022Q4 100分】

3、华为OD机试真题 Java 实现【检查是否存在满足条件的数字组合】【2022Q4 100分】

4、华为OD机试真题 Java 实现【素数之积】【2022Q4 100分】

5、华为OD机试真题 Java 实现【分奖金】【2022Q4 100分】

6、华为OD机试真题 Java 实现【尼科彻斯定理】【2022Q4 100分】,附详细解题思路

7、华为OD机试真题 Java 实现【数组合并】【2022Q4 100分】

8、华为OD机试真题 Java 实现【放苹果】【2022Q4 100分】

9、华为OD机试真题 Java 实现【计算数组中心位置】【2022Q4 100分】

10、华为OD机试真题 Java 实现【最长的连续子序列】【2022Q4 100分】

🏆更多华为OD真题,查看华为OD机试(JAVA)真题(A卷+B卷)

下面分享一道“2023 Q2B卷 100分 路灯照明问题”的解题思路

一、题目描述

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

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

二、输入描述

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

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

三、输出描述

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

四、解题思路

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

例如:

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;

五、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);
}

六、效果展示

1、输入

4
20 70 175 10

2、输出

5

3、思路

在这里插入图片描述

在这里插入图片描述


🏆下一篇:华为OD机试真题 Java 实现【跳房子II】【2023 B卷 100分】,附详细解题思路

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

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

在这里插入图片描述

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

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

相关文章

微服务 - Consul集群化 · 服务注册 · 健康检测 · 服务发现 · 负载均衡

一、Consul 概括 Consul 是由N多个节点(台机/虚机/容器)组成&#xff0c;每个节点中都有 Agent 运行着&#xff0c;各节点间用RPC通信&#xff0c;所有节点内相同的 Datacenter 名称为一个数据中心&#xff0c;节点又分三种角色 Client/Server/Leader&#xff1a; Agent&…

Python算法笔记(3)-树、二叉树、二叉堆、二叉搜索树

树和二叉树 什么是树 树是一种非线性的数据结构&#xff0c;由n个节点构成的有限集合&#xff0c;节点数0的树叫空树&#xff0c;在任意一棵树中&#xff0c;有且仅有一个特点的称为根节点&#xff0c;当N>1时&#xff0c;其余节点可分m为互不相交的有限集。 例如如下&…

子序列,回文串相关题目

class Solution { public:int dp[2510];int lengthOfLIS(vector<int>& nums) {//dp[i]表示以nums[i]为结尾的最长子序列的长度int nnums.size();for(int i0;i<n;i){dp[i]1;}for(int i1;i<n;i){for(int j0;j<i;j){if(nums[i]>nums[j]){dp[i]max(dp[i],dp[…

因子分解机介绍和PyTorch代码实现

因子分解机&#xff08;Factorization Machines&#xff0c;简称FM&#xff09;是一种用于解决推荐系统、回归和分类等机器学习任务的模型。它由Steffen Rendle于2010年提出&#xff0c;是一种基于线性模型的扩展方法&#xff0c;能够有效地处理高维稀疏数据&#xff0c;并且在…

用Blender做一个足球烯C60

文章目录 作图思路先做一个足球球棍模型平滑 Blender初学者入门&#xff1a;做一个魔方 作图思路 C 60 C_{60} C60​是由60个碳原子构成&#xff0c;形似足球&#xff0c;又名足球烯。而足球的顶点&#xff0c;可以通过正二十面体削去顶点得到&#xff0c;原理可参照这篇&…

基于数据驱动的多尺度表示的信号去噪统计方法研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

React组件进阶之children属性,props校验与默认值以及静态属性static

React组件进阶之children属性,props校验与默认值以及静态属性static 一、children属性二、props校验2.1 props说明2.2 prop-types的安装2.3 props校验规则2.4 props默认值 三、静态属性static 一、children属性 children 属性&#xff1a;表示该组件的子节点&#xff0c;只要组…

网站创建004:跟用户交互的标签

input 系列&#xff1a; <body><input type"text" /> <!--文本输入框--><input type"password" /> <!--密码输入框--><input type"checkbox" /> <!--复选框--><input type"checkbox"…

【MySQL】使用C语言连接

​&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《零基础入门MySQL》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录 &#x1f449;my…

用CSS和HTML写一个水果库存静态页面

HTML代码&#xff1a; <!DOCTYPE html> <html> <head><link rel"stylesheet" type"text/css" href"styles.css"> </head> <body><header><h1>水果库存</h1></header><table>…

函数指针及其使用

类比 数组的地址 函数的地址 数组指针 函数的指针 函数指针的运用 有趣的代码1

从0到1构建基于自身业务的前端工具库

前言 在实际项目开发中无论 M 端、PC 端&#xff0c;或多或少都有一个 utils 文件目录去管理项目中用到的一些常用的工具方法&#xff0c;比如&#xff1a;时间处理、价格处理、解析url参数、加载脚本等&#xff0c;其中很多是重复、基础、或基于某种业务场景的工具&#xff0…

链表(一) 单链表操作详解

文章目录 一、什么是链表二、链表的分类1、单向或者双向2、带头或不带头3、循环或不循环 三、无头单向不循环链表的实现SList.hSList.c动态申请一个节点单链表打印单链表尾插单链表头插单链表的尾删单链表头删单链表查找在pos位置前插入单链表在pos位置之后插入x删除pos位置单链…

自动驾驶下半场的“入场券”

交流群 | 进“传感器群/滑板底盘群/汽车基础软件群/域控制器群”请扫描文末二维码&#xff0c;添加九章小助手&#xff0c;务必备注交流群名称 真实姓名 公司 职位&#xff08;不备注无法通过好友验证&#xff09; 作者 | 张萌宇 自动驾驶战争的上半场拼的是硬件和算法&…

DTC介绍

DTC 一般由3个字节组成&#xff1a; 字节1&#xff1a;High Byte bit 7-6: 对应DTC属于哪一个系统&#xff0c;P: 00动力系统、C: 01底盘、B: 10车身和U: 11通信系统bit 5-4: 用来区分DTC是标准组织所定义还是制造商自定义 00: ISO/SAE01: 制造商10: ISO/SAE11: ISO/SAE bit 3…

【Rust教程 | 基础系列2 | Cargo工具】Cargo介绍及使用

文章目录 前言一&#xff0c;Cargo介绍1&#xff0c;Cargo安装2&#xff0c;创建Rust项目2&#xff0c;编译项目&#xff1a;3&#xff0c;运行项目&#xff1a;4&#xff0c;测试项目&#xff1a;5&#xff0c;更新项目的依赖&#xff1a;6&#xff0c;生成项目的文档&#xf…

python皮卡丘字符打印代码,用python皮卡丘的代码

大家好&#xff0c;本文将围绕python皮卡丘字符打印代码展开说明&#xff0c;python皮卡丘编程代码教程是一个很多人都想弄明白的事情&#xff0c;想搞清楚python皮卡丘编程代码需要先了解以下几个事情。 1、我用python画皮卡丘&#xff0c;没有错误出现&#xff0c;我也打开才…

内网横向移动—NTLM-Relay重放Responder中继攻击LdapEws

内网横向移动—NTLM-Relay重放&Responder中继攻击&Ldap&Ews 1. 前置了解1.1. MSF与CS切换权限1.1.1. CS会话中切换权限1.1.1.1. 查看进程1.1.1.2. 权限权限 1.1.2. MSF会话中切换权限 2. NTLM中继攻击—Relay重放—SMB上线2.1. 案例测试2.1.1. 同账户密码测试2.1.2…

如何使用CRM系统进行客户关系维护管理?

企业要想持续的发展&#xff0c;就必须管理和维护与客户的关系。但如今客户需求更加复杂和多样化&#xff0c;维护客户关系的难度越来越大。许多企业使用CRM系统来帮助自己管理客户关系。通过本文&#xff0c;让您客户关系维护管理全知道。 1、客户画像 CRM系统可以帮助企业建…

【【萌新的stm32学习-1】】

萌新的stm32学习 冯诺依曼结构 采用了分时复用的结构 优点&#xff1a;总线资源占用少 缺点&#xff1a;执行效率低 哈佛结构 执行效率高 总线资源占用多 RISC 这是精简指令集的意思 arm公司 ARMv9是2021年发布的最新 Cortex-A 最好高性能 Cortex-R 中 Cortex-M 低 何为STM…