
华为OD机试(E/D/C卷)最新题库
文章平均质量分 77
华为OD机考算法题库(绝对都是原题),帮助你上岸华为(已经不少小伙伴成功上岸)。提供Java、Python、C++ 三种语言的解法。每篇文章都有详细的解题步骤、代码注释详细及相关知识点的练习题。有问题,随时解答。
优惠券已抵扣
余额抵扣
还需支付
¥69.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
什码情况
我们专注于算法辅导与面试辅导,提供系统化的学习方案,帮助你高效提升编程能力,顺利拿下技术面试!
我们的服务包括:
算法辅导:刷题提效、解题思维培养、专题训练(动态规划、图论、贪心等)
面试辅导:大厂面试真题解析、简历优化、模拟面试,助你拿下理想Offer
1V1个性化辅导,学习更高效!
无论你是初学者还是求职冲刺阶段,我们都能提供适合你的提升方案。
扫码添加微信(code5bug),免费试课,助你高效提升!
展开
-
2024华为OD机试(E卷+D卷+C卷)最新题库(Java & Python & C++)
2024华为OD机试(C卷+D卷)最新题库(Java & Python & C++)关于华为OD 华为的员工补充途径有三种,分别是校招、OD转正和社招。校招是华为唯一的正式员工入职途径,但是从近几届开始竞争非常激烈,尤其是在CV、AI、NLP等赛道上,所以对于C9等专业的学生来说,可以考虑转向一些冷门方向。 OD转正是指在华为工作满一年之后,可以根据部门OD比例、是否来自目标院校、个人工作表现等因素来决定是否能转为正式员工。社招是指通过华为特定的招聘窗口进行投递,但审批流程相对较原创 2024-03-18 13:04:39 · 4544 阅读 · 1 评论 -
We are a team - 华为OD统一考试
OD统一考试题解: Java / Python / C++。总共有 n 个人在机房,每个人有一个标号 (1原创 2023-12-28 11:16:17 · 1889 阅读 · 0 评论 -
租车骑绿道 - 华为OD机试真题(E卷、JavaScript)
部门组织绿道骑行团建活动。租用公共双人自行车骑行,每辆自行车最多坐两人、做大载重M。给出部门每个人的体重,请问最多需要租用多少双人自行车。原创 2025-03-25 09:57:24 · 327 阅读 · 0 评论 -
租车骑绿道 - 华为OD机试真题(E卷、Python)
部门组织绿道骑行团建活动。租用公共双人自行车骑行,每辆自行车最多坐两人、做大载重M。给出部门每个人的体重,请问最多需要租用多少双人自行车。原创 2025-03-26 12:34:50 · 397 阅读 · 0 评论 -
流浪地球 - 华为OD机试真题(E卷、JavaScript)
流浪地球计划在赤道上均匀部署了N个转向发动机,按位置顺序编号为0~N。 1). 初始状态下所有的发动机都是未启动状态; 2). 发动机启动的方式分为”手动启动”和”关联启动”两种方式; 3). 如果在时刻1一个发动机被启动,下一个时刻2与之相邻的两个发动机就会被"关联启动”; 4). 如果准备启动某个发动机时,它已经被启动了,则什么都不用做; 5). 发动机0与发动机N-1是相邻的;地球联合政府准备挑选某些发动机在某些时刻进行"手动启动”。当然最终所有的发动机都会被启动。原创 2025-03-24 13:35:25 · 713 阅读 · 0 评论 -
租车骑绿道 - 华为OD机试真题(E卷、Java)
部门组织绿道骑行团建活动。租用公共双人自行车骑行,每辆自行车最多坐两人、做大载重M。给出部门每个人的体重,请问最多需要租用多少双人自行车。原创 2025-03-25 09:32:24 · 441 阅读 · 0 评论 -
流浪地球 - 华为OD机试真题(E卷、Python)
流浪地球计划在赤道上均匀部署了N个转向发动机,按位置顺序编号为0~N。 1). 初始状态下所有的发动机都是未启动状态; 2). 发动机启动的方式分为”手动启动”和”关联启动”两种方式; 3). 如果在时刻1一个发动机被启动,下一个时刻2与之相邻的两个发动机就会被"关联启动”; 4). 如果准备启动某个发动机时,它已经被启动了,则什么都不用做; 5). 发动机0与发动机N-1是相邻的;地球联合政府准备挑选某些发动机在某些时刻进行"手动启动”。当然最终所有的发动机都会被启动。原创 2025-03-24 13:36:05 · 996 阅读 · 0 评论 -
路灯照明问题 - 华为OD机试真题(E卷、Java)
在一条笔直的公路上安装了N个路灯,从位置0开始安装,路灯之间间距固定为100米。每个路灯都有自己的照明半径,请计算第一个路灯和最后一个路灯之间,无法照明的区间的长度和。原创 2025-03-19 08:54:03 · 732 阅读 · 0 评论 -
找终点 - 华为OD机试真题(E卷)
给定一个正整数数组,设为nums,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。要求:1、第一步必须从第一元素开始,且1<=第一步的步长<len/2;(len为数组的长度,需要自行解析)。2、从第二步开始,只能以所在成员的数字走相应的步数,不能多也不能少,如果目标不可达返回-1,只输出最少的步骤数量。3、只能问数组的尾部走,不能往回走。原创 2025-03-17 18:24:44 · 504 阅读 · 0 评论 -
路灯照明问题 - 华为OD机试真题(E卷、Python)
在一条笔直的公路上安装了N个路灯,从位置0开始安装,路灯之间间距固定为100米。每个路灯都有自己的照明半径,请计算第一个路灯和最后一个路灯之间,无法照明的区间的长度和。原创 2025-03-19 09:32:40 · 727 阅读 · 2 评论 -
寻找链表的中间节点 - 华为OD机试(E卷、Java)
给定一个单链表 L,请编写程序输出 L中间结点保存的数据。如果有两个中间结点,则输出第二个中间结点保存的数据。例如: 给定 L 为 1 -> 7 -> 5,则输出应该为 7; 给定 L 为 1 -> 2 -> 3 -> 4,则输出应该为 3原创 2025-03-20 11:39:12 · 598 阅读 · 0 评论 -
流浪地球 - 华为OD机试真题(E卷、Java)
流浪地球计划在赤道上均匀部署了N个转向发动机,按位置顺序编号为0~N。 1). 初始状态下所有的发动机都是未启动状态; 2). 发动机启动的方式分为”手动启动”和”关联启动”两种方式; 3). 如果在时刻1一个发动机被启动,下一个时刻2与之相邻的两个发动机就会被"关联启动”; 4). 如果准备启动某个发动机时,它已经被启动了,则什么都不用做; 5). 发动机0与发动机N-1是相邻的;地球联合政府准备挑选某些发动机在某些时刻进行"手动启动”。当然最终所有的发动机都会被启动。原创 2025-03-22 12:27:41 · 794 阅读 · 0 评论 -
矩阵扩散 - 华为OD机试真题(E卷)
存在一个m*n的二维数组,其成员取值范围为0或1。其中值为1的成员具备扩散性,每经过1S,将上下左右值为0的成员同化为1,二维数组的成员初始值都为0,将第 [i, j] 和[k,l]两个位置上元素修改成1后,求矩阵的所有元素变为1需要多长时间。原创 2025-03-17 16:48:32 · 557 阅读 · 0 评论 -
字符串分割 - 华为OD机试真题(E卷、Java)
给定一个非空字符串S,其被N个‘-’分隔成N+1的子串,给定正整数K,要求除第一个子串外,其余的子串每K个字符组成新的子串,并用‘-’分隔。对于新组成的每一个子串,如果它含有的小写字母比大写字母多,则将这个子串的所有大写字母转换为小写字母;反之,如果它含有的大写字母比小写字母多,则将这个子串的所有小写字母转换为大写字母;大小写字母的数量相等时,不做转换原创 2025-03-19 09:04:02 · 365 阅读 · 0 评论 -
流浪地球 - 华为OD机试真题(E卷、C++)
流浪地球计划在赤道上均匀部署了N个转向发动机,按位置顺序编号为0~N。 1). 初始状态下所有的发动机都是未启动状态; 2). 发动机启动的方式分为”手动启动”和”关联启动”两种方式; 3). 如果在时刻1一个发动机被启动,下一个时刻2与之相邻的两个发动机就会被"关联启动”; 4). 如果准备启动某个发动机时,它已经被启动了,则什么都不用做; 5). 发动机0与发动机N-1是相邻的;地球联合政府准备挑选某些发动机在某些时刻进行"手动启动”。当然最终所有的发动机都会被启动。原创 2025-03-22 12:19:13 · 810 阅读 · 0 评论 -
跳房子I - 华为OD机试真题(E卷、JavaScript)
跳房子,也叫跳飞机,是一种世界性的儿童游戏。游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格。跳房子的过程中,可以向前跳,也可以向后跳。假设房子的总格数是count、小红每回合可能连续跳的步数都放在数组steps中,请问数组中是否有一种步数的组合,可以让小红两个回合跳到最后一格?如果有,请输出索引和最小的步数组合。注意:数组中的步数可以重复,但数组中的元素不能重复使用。提供的数据保证存在满足题目要求的组合,且索引和最小的步数组合是唯一的。原创 2025-03-21 11:40:33 · 493 阅读 · 0 评论 -
寻找链表的中间节点 - 华为OD机试真题(E卷、Python)
给定一个单链表 L,请编写程序输出 L中间结点保存的数据。如果有两个中间结点,则输出第二个中间结点保存的数据。例如: 给定 L 为 1 -> 7 -> 5,则输出应该为 7; 给定 L 为 1 -> 2 -> 3 -> 4,则输出应该为 3原创 2025-03-20 12:20:09 · 1096 阅读 · 0 评论 -
寻找链表的中间节点 - 华为OD机试真题(E卷、JavaScript)
给定一个单链表 L,请编写程序输出 L中间结点保存的数据。如果有两个中间结点,则输出第二个中间结点保存的数据。例如: 给定 L 为 1 -> 7 -> 5,则输出应该为 7; 给定 L 为 1 -> 2 -> 3 -> 4,则输出应该为 3原创 2025-03-20 12:01:54 · 330 阅读 · 0 评论 -
跳房子I - 华为OD机试真题(E卷、Python)
跳房子,也叫跳飞机,是一种世界性的儿童游戏。游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格。跳房子的过程中,可以向前跳,也可以向后跳。假设房子的总格数是count、小红每回合可能连续跳的步数都放在数组steps中,请问数组中是否有一种步数的组合,可以让小红两个回合跳到最后一格?如果有,请输出索引和最小的步数组合。注意:数组中的步数可以重复,但数组中的元素不能重复使用。提供的数据保证存在满足题目要求的组合,且索引和最小的步数组合是唯一的。原创 2025-03-21 11:32:27 · 425 阅读 · 0 评论 -
字符串分割 - 华为OD机试真题(E卷、Python)
给定一个非空字符串S,其被N个‘-’分隔成N+1的子串,给定正整数K,要求除第一个子串外,其余的子串每K个字符组成新的子串,并用‘-’分隔。对于新组成的每一个子串,如果它含有的小写字母比大写字母多,则将这个子串的所有大写字母转换为小写字母;反之,如果它含有的大写字母比小写字母多,则将这个子串的所有小写字母转换为大写字母;大小写字母的数量相等时,不做转换原创 2025-03-19 09:18:13 · 510 阅读 · 0 评论 -
分奖金 - 华为OD机试真题(E卷、C++)
按照工号的顺序往后排列,遇到第一个数字比自己数字大的,那么,前面的员工就可以获得。:对于每个员工(从第一个员工开始),我们需要判断是否存在比他数字大的员工。那么第2个员工的数字10比第1个员工的数字2大,所以,第1个员工可以获得1*(10-2)=8。第2个员工后面没有比他数字更大的员工,所以,他获得他分配的随机数数量的奖金,就是10。其中,距离是当前员工和找到的比他数字大的员工之间的距离,数字差值是这两个人数字之差。第3个员工是最后一个员工,后面也没有比他更大数字的员工,所以他得到的奖金是3。原创 2025-03-14 19:05:46 · 455 阅读 · 0 评论 -
信道分配 - 华为OD机试真题(E卷)
算法工程师小明面对着这样一个问题,需要将通信用的信道分配给尽量多的用户:信道的条件及分配规则如下:1. 所有信道都有属性:”阶”。阶为r的信道的容量为2^r比特;2. 所有用户需要传输的数据量都一样:D比特;3. 一个用户可以分配多个信道,但每个信道只能分配给一个用户;4. 只有当分配给一个用户的所有信道的容量和>=D,用户才能传输数据;给出一组信道资源,最多可以为多少用户传输数据?原创 2025-03-16 13:28:57 · 587 阅读 · 0 评论 -
荒岛逃生游戏 - 华为OD机试真题(E卷)
一个荒岛上有若干人,岛上只有一条路通往岛屿两端的港口,大家需要逃往两端的港口才可逃生。假定每个人移动的速度一样,且只可选择向左或 向右逃生。若两个人相遇,则进行决斗,战斗力强的能够活下来,并损失掉与对方相同的战斗力;正负表示逃生方向(正表示向右逃生,负表示向左逃生),绝对值表示战斗力,越左边的数字表示离左边港口越近,逃生方向相同的人永远不会发生决斗。能够逃生的人总数,没有人逃生输出0,输入异常时输出-1。原创 2025-03-16 13:19:24 · 476 阅读 · 0 评论 -
华为OD机试真题:查找单入口空闲区域(E卷、C++)
给定一个 m * n的矩阵,由若干字符’ X’ 和’0’构成,"X表示该处已被占据,'0"表示该处空闲,请找到最大的单入口空闲区域。解释:空闲区域是由连通的’0"组成的区域,位于边界的"0’可以构成入口,单入口空闲区域即有且只有一个位于边界的"0"作为入口的由连通的’O’组成的区域。如果两个元素在水平或垂直方向相邻,则称它们是“连通”的。第一行输入为两个数字,第一个数字为行数m,第二个数字列数n,两个数字以空格分隔,1<=m,n<=200.剩余各行为矩阵各行元素,元素为’X’或’O’,各尤素间以空格分隔。原创 2025-03-04 12:59:21 · 624 阅读 · 0 评论 -
华为OD机试真题:磁盘容量排序(E卷、C++)
磁盘的容量单位常用的有M,G,T这三个等级,它们之间的换算关系为1T=1024G1G=1024M,现在给定n块磁盘的容量,请对它们按从小到大的顺序进行稳定排序,例如给定5块盘的容量,1T,20M,3G,10G6T,3M12G9M排序后的结果为20M,3G,3M12G9M,1T,10G6T。磁盘容量m的范围为1到1024的正整数,容量单位v的范围只包含题目中提到的M,G,T三种,换算关系如题目描述。因此,为了方便比较磁盘容量,必须将不同单位的容量转换成同一单位,比如统一转换成。原创 2025-03-06 12:34:08 · 743 阅读 · 0 评论 -
华为OD机试真题:查找充电设备组合(E卷、C++)
某个充电站,可提供n个充电设备,每个充电设备均有对应的输出功率。任意个充电设备组合的输出功率总和,均构成功率集合P的1个元素。功率集合P的最优元素,表示最接近充电站最大输出功率p_max的元素。2.最优元素必须小于或等于充电站最大输出功率p_max。第3行为充电站最大输出功率p_max。第2行为每个充电设备的输出功率。第1行为充电设备个数n。1.充电设备个数n>0。功率集合P的最优元素。原创 2025-03-04 11:59:29 · 490 阅读 · 0 评论 -
华为OD机试真题:比赛的冠亚季军(E卷、C++)
有N(3<=N<10000)个运动员,他们的id为0到N-1,他们的实力由一组整数表示。比赛的规则是0号和1号比赛,2号和3号比赛,以此类推,每一轮,相邻的运动员进行比赛,获胜的进入下一轮;实力值大的获胜,实力值相等的情况,id小的情况下获胜;轮空的直接进入下一轮。这个问题属于“比赛和淘汰赛”类型的问题。其核心是如何通过模拟比赛的方式,最终得出三名选手(冠亚季军)的名次。输入一行N个数字代表N的运动员的实力值(0<=实力值<=10000000000)。输出冠亚军的id,用空格隔开。原创 2025-03-06 11:40:10 · 1044 阅读 · 0 评论 -
华为OD机试真题:AI面板识别(E卷、C++)
由于AI识别误差,每次识别到的指示灯位置可能有差异,以4个坐标值描述AI识别的指示灯的大小和位置(左上角x1,y1,右下角x2,y2),这个问题的核心是如何对指示灯进行排序。根据题目的要求,我们需要依照“先行后列”的方式对指示灯进行排序。AI识别到面板上有N(1 ≤ N ≤ 100)个指示灯,灯大小一样,任意两个之间无重叠。排序后的编号列表,编号之间以空格分隔。编号 x1 y1 x2 y2。第一行为N,表示灯的个数。原创 2025-03-05 11:09:21 · 503 阅读 · 0 评论 -
华为OD机试真题:箱子之形摆放(E卷、C++)
有一批箱子(形式为字符串,设为str),要求将这批箱子按从上到下以之形的顺序摆放在宽度为n的空地,请输出箱子的摆放结果。,指示当前字符应放在哪一行。存储每一行的字符串。原创 2025-03-08 12:45:17 · 359 阅读 · 0 评论 -
华为OD机试真题:连续字母长度(E卷、C++)
给定一个字符串,只包含大写字母,求在包含同一字母的子串中,长度第k长的子串的长度,相同字母只取最长的那个子串。本题要求在给定的字符串中,找出同一字母的子串,计算这些子串的长度,并找出第。第一行有一个子串(1 < 长度 <= 100),只包含大写字母。若子串中只包含同一字母的子串数小于k,则输出-1。如果这样的子串数量少于。输出连续出现次数第k多的字母的次数。原创 2025-03-05 12:14:06 · 427 阅读 · 0 评论 -
华为OD机试:字符串分割 (E卷、C++)
字符串分割 - 华为OD统一考试(E卷)给定一个非空字符串S,其被N个‘-’分隔成N+1的子串,给定正整数K,要求除第一个子串外,其余的子串每K个字符组成新的子串,并用‘-’分隔。对于新组成的每一个子串,如果它含有的小写字母比大写字母多,则将这个子串的所有大写字母转换为小写字母;反之,如果它含有的大写字母比小写字母多,则将这个子串的所有小写字母转换为大写字母;大小写字母的数量相等时,不做转换原创 2025-02-26 11:53:24 · 725 阅读 · 0 评论 -
华为OD机试真题:租车骑绿道(E卷、C++)
部门组织绿道骑行团建活动。租用公共双人自行车骑行,每辆自行车最多坐两人、做大载重M。给出部门每个人的体重,请问最多需要租用多少双人自行车。原创 2025-03-02 19:51:24 · 283 阅读 · 0 评论 -
华为OD机试真题:异常的打卡记录(E卷、C++)
考勤记录是分析和考核职工工作时间利用情况的原始依据,也是计算职工工资的原始依据,为了正确地计算职工工资和监督工资基金使用情况,公司决定对员工的手机打卡记录进行异常排查。如果出现以下两种情况,则认为打卡异常:1、实际设备号与注册设备号不一样;2、或者,同一个员工的两个打卡记录的时间小于60分钟并且打卡距离超过5km。给定打卡记录的字符串数组clockRecords(每个打卡记录组成为:工号:时间(分钟):打卡距离(km):实际设备号;注册设备号),返回其中异常的打卡记录(按输入顺序输出)。原创 2025-02-27 12:54:41 · 878 阅读 · 0 评论 -
华为OD机试真题:跳房子I (E卷、Java)
跳房子,也叫跳飞机,是一种世界性的儿童游戏。游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格。跳房子的过程中,可以向前跳,也可以向后跳。假设房子的总格数是count、小红每回合可能连续跳的步数都放在数组steps中,请问数组中是否有一种步数的组合,可以让小红两个回合跳到最后一格?如果有,请输出索引和最小的步数组合。注意:数组中的步数可以重复,但数组中的元素不能重复使用。提供的数据保证存在满足题目要求的组合,且索引和最小的步数组合是唯一的。原创 2025-03-02 21:02:26 · 706 阅读 · 0 评论 -
华为OD机试真题:最左侧冗余覆盖子串(E卷、C++)
华为OD机试真题:最左侧冗余覆盖子串(E卷、C++)给定两个字符串s1和s2和正整数K,其中s1长度为n1,s2长度为n2,在s2中选一个子串,满足:- 该子串长度为n1+k- 该子串中包含s1中全部字母,- 该子串每个字母出现次数不小于s1中对应的字母,我们称s2以长度k冗余覆盖s1,给定s1,s2,k,求最左侧的s2以长度k冗余覆盖s1的子串的**首个元素的下标**,如果没有返回**-1**。原创 2025-02-24 15:54:32 · 809 阅读 · 0 评论 -
华为OD机试真题:寻找链接的中间节点(E卷、C++)
给定一个单链表 L,请编写程序输出 L中间结点保存的数据。如果有两个中间结点,则输出第二个中间结点保存的数据。例如: 给定 L 为 1 -> 7 -> 5,则输出应该为 7; 给定 L 为 1 -> 2 -> 3 -> 4,则输出应该为 3原创 2025-02-27 12:29:21 · 1005 阅读 · 0 评论 -
华为OD机试真题:分积木(E卷、C++)
Solo和koko是两兄弟,妈妈给了他们一大堆积木,每块积木上都有自己的重量。现在他们想要将这些积木分成两堆。哥哥Solo负责分配,弟弟koko要求两个人获得的积木总重量“相等”(根据Koko的逻辑),个数可以不同,不然就会哭,但koko只会先将两个数转成二进制再进行加法,而且总会忘记进位(每个进位都忘记)。原创 2025-03-01 10:58:37 · 934 阅读 · 0 评论 -
华为OD机试真题:最远足迹 (E卷、C++)
某探险队负责对地下洞穴进行探险。探险队成员在进行探险任务时,随身携带的记录器会不定期地记录自身的坐标,但在记录的间隙中也会记录其他数据。探索工作结束后,探险队需要获取到某成员在探险过程中相对于探险队总部的最远的足迹位置。1. 仪器记录坐标时,坐标的数据格式为(x,y),如(1,2)、(100,200),其中0<x<1000,0<y<1000。同时存在非法坐标,如(01,1)、(1,01),(0,100)属于非法坐标。2. 设定探险队总部的坐标为(0,0),某位置相对总部的距离为:x*x+y*y。3.原创 2025-02-25 12:13:37 · 990 阅读 · 0 评论 -
华为OD机试:路灯照明问题(E卷、C++)
在一条笔直的公路上安装了N个路灯,从位置0开始安装,路灯之间间距固定为100米。每个路灯都有自己的照明半径,请计算第一个路灯和最后一个路灯之间,无法照明的区间的长度和。原创 2025-03-02 20:10:30 · 647 阅读 · 0 评论 -
华为OD机试:跳房子I (E卷、C++)
跳房子,也叫跳飞机,是一种世界性的儿童游戏。游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格。跳房子的过程中,可以向前跳,也可以向后跳。假设房子的总格数是count、小红每回合可能连续跳的步数都放在数组steps中,请问数组中是否有一种步数的组合,可以让小红两个回合跳到最后一格?如果有,请输出索引和最小的步数组合。原创 2025-02-26 11:02:18 · 947 阅读 · 0 评论