![](https://i-blog.csdnimg.cn/direct/332adf53419847babaf0fa01c4467621.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
华为OD机试题库2024(Java/Python/C++)
【限时优惠】2024年OD统一考试(D卷),最新题库。
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
什码情况
系统学习算法知识,冲击大厂笔试/华子OD笔试高分,欢迎联系
展开
-
华为OD机试2024年真题题库(JAVA、Python、C++合集)C卷+D卷
华为od机试;华为od机试真题2024;华为od题库;华为od面试手撕代码;华为od技术面试;华为od机考;华为od d卷;华为od面试八股文;华为od测试面试;华为od机考题库;华为od手撕代码题;华为od机考是原题吗;华为od 智能驾驶;华为od岗位是什么意思;华为od和外包的区别;华为od等级d1-d5薪资表;华为od是什么意思; 工作华为od和正式员工区别;华为od岗位有必要去吗;华为od机试题库及答案;华为od岗位是什么意思;华为od等级d1-d5薪资表;华为od是什么;华为od岗位有必要去吗;华原创 2024-07-22 10:46:37 · 251 阅读 · 0 评论 -
体育场找座位 - 华为OD统一考试(C卷)
OD统一考试(C卷)分值: 100分。在一个大型体育场内举办了一场大型活动,由于疫情防控的需要,要求每位观众的必须间隔至少一个空位才允许落座。现在给出一排观众座位分布图,座位中存在已落座的观众,请计算出,在不移动现有观众座位的情况下,最多还能坐下多少名观众。原创 2023-12-06 17:00:09 · 785 阅读 · 0 评论 -
智能成绩表 - 华为OD统一考试(C卷)
智能成绩表 OD统一考试(C卷)分值: 100分。小明来到某学校当老师,需要将学生按考试总分或单科分数进行排名,你能帮帮他吗?原创 2023-12-06 15:39:46 · 851 阅读 · 0 评论 -
分割均衡字符串 - 华为OD统一考试(C卷)
OD统一考试(C卷)分值: 100分题解: Java / Python / C++。均衡串定义:字符串只包含两种字符,且两种字符的个数相同。给定一个均衡字符串,请给出可分割成新的均衡子串的最大个数。约定字符串中只包含大写的'X"和'Y'两种字符。原创 2023-12-07 10:09:51 · 790 阅读 · 0 评论 -
模拟目录管理 - 华为OD统一考试(C卷)
OD统一考试(C卷)分值: 200分题解: Java / Python / C++。实现一个模拟目录管理功能的软件,输入一个命令序列,输出最后一条命令运行结果。支持命令:1)创建目录命令: mkdir 目录名称,如mkdir abc为在当前目录创建abc目录,如果已存在同名目录则不执行任何操作。此命令无输出。2)进入目录命令: cd 目录名称,如cd abc为进入abc目录,特别地,cd ..为返回上级目录,如果目录不存在则不执行任何操作。此命令无输出。3)查看当前所在路径命令: pwd,输出原创 2023-12-07 09:49:00 · 966 阅读 · 0 评论 -
最长子字符串的长度 (一) - 华为OD统一考试(C卷)
OD统一考试(C卷)分值: 100分题解: Java / Python / C++。给你一个字符串 s,字符串s首尾相连成一个环形,请你在环中找出字符出现了偶数次最长子字符串的长度。原创 2023-12-08 07:58:37 · 511 阅读 · 0 评论 -
AI面板识别 - 华为OD统一考试
OD统一考试 (B卷)分值: 100分题解: Java / Python / C++。AI识别到面板上有N(1 ≤ N ≤ 100)个指示灯,灯大小一样,任意两个之间无重叠。由于AI识别误差,每次别到的指示灯位置可能有差异,以4个坐标值描述AI识别的指示灯的大小和位置(左上角x1,y1,右下角x2,y2),请输出先行后列排序的指示灯的编号,排序规则:1. 每次在尚未排序的灯中挑选最高的灯作为的基准灯;2. 找出和基准灯属于同一行所有的灯进行排序。两个灯高低偏差不超过灯半径算同一行(即两个灯坐原创 2023-12-29 13:59:05 · 744 阅读 · 0 评论 -
靠谱的车- 华为OD统一考试(C卷)
OD统一考试(C卷)分值: 100分题解: Java / Python / C++。程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常。比如:- 23再多一块钱就变为25;- 39再多一块钱变为50;- 399再多一块钱变为500;小明识破了司机的伎俩,准备利用自己的学识打败司机的阴谋。给出计费表的表面读数,返回实际产生的费用。原创 2023-12-12 10:09:40 · 804 阅读 · 0 评论 -
计算三叉搜索树的高度 - 华为OD统一考试
OD统一考试分值: 100分题解: Java / Python / C++。定义构造三又搜索树规则如下:每个节点都存有一个数,当插入一个新的数时,从根节点向下寻找,直到找到一个合适的空节点插入查找的规则是:1.如果数小于节点的数减去500,则将数插入节点的左子树2.如果数大于节点的数加上500,则将数插入节点的右子树3.否则,将数插入节点的中子树给你一系列数,请按以上规则,按顺序将数插入树中,构建出一棵三叉搜索树,最后输出树的高度。原创 2023-12-15 18:22:20 · 531 阅读 · 0 评论 -
电脑病毒感染 - 华为OD统一考试
OD统一考试题解: Java / Python / C++。一个局域网只内有很多台电脑,分别标注为 1 ~ N 的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t 表示。其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不会感染,则返回-1。给定一个数组 times 表示一台电脑把相邻电脑感染所用的时间: path[i] = {i, j, t} 表示: 电脑i 上的病毒感染 j,需要时间 t 。原创 2023-12-27 14:12:07 · 2400 阅读 · 9 评论 -
灰度图恢复 - 华为OD统一考试(C卷)
OD统一考试(C卷)分值: 100分题解: Java / Python / C++。黑白图像常采用灰度图的方式存储,即图像的每个像素填充一个灰色阶段值,256节阶灰图是一个灰阶值取值范围为0-255的灰阶矩阵,0表示全黑,255表示全白,范围内的其他值表示不同的灰度。但在计算机中实际存储时,会使用压缩算法,其中一个种压缩格式描述如如下:10 10 255 34 0 1 255 8 0 3 255 6 0 5 255 4 0 7 255 2 0 9 255 211. 所有的数值以空格分隔;原创 2023-12-12 11:34:46 · 607 阅读 · 0 评论 -
贪吃的猴子 - 华为OD统一考试(C卷)
OD统一考试(C卷)分值: 200分题解: Java / Python / C++一只贪吃的猴子,来到一个果园,发现许多串香蕉排成一行,每串香蕉上有若干根香蕉。每串香蕉的根数由数组numbers给出。猴子获取香蕉,每次都只能从行的开头或者末尾获取,并且只能获取N次,求猴子最多能获取多少根香蕉。原创 2023-12-08 08:00:11 · 1751 阅读 · 0 评论 -
会议室占用时间段 - 华为OD统一考试
OD统一考试题解: Java / Python / C++。现有若干个会议,所有会议共享一个会议室,用数组表示各个会议的开始时间和结束时间,格式为: [[会议1开始时间,会议1结束时间],[会议2开始时间,会议2结束时间]] 请计算会议室占用时间段。原创 2023-12-27 10:51:26 · 1403 阅读 · 2 评论 -
最长连续子序列 - 华为OD统一考试
OD统一考试(B卷)分值: 100分题解: Java / Python / C++。有N个正整数组成的一个序列。给定整数sum,求长度最长的连续子序列,使他们的和等于sum,返回此子序列的长度,如果没有满足要求的序列,返回-1。原创 2023-12-28 12:28:37 · 774 阅读 · 0 评论 -
机器人活动区域 - 华为OD统一考试
OD统一考试题解: Java / Python / C++。现有一个机器人,可放置于 M x N 的网格中任意位置,每个网格包含一个非负整数编号,当相邻网格的数字编号差值的绝对值小于等于 1 时机器人可以在网格间移动。问题: 求机器人可活动的最大范围对应的网格点数目。 说明: 网格左上角坐标为(0,0),右下角坐标为(m - 1,n - 1)机器人只能在相邻网格间上下左右移动。原创 2023-12-30 12:22:04 · 1924 阅读 · 0 评论 -
可以组成网络的服务器 - 华为OD统一考试(C卷)
在一个机房中,服务器的位置标识在n*m的整数矩阵网格中,1表示单元格上有服务器,0表示没有。如果两台服务器位于同一行或者同一列中紧邻的位置,则认为它们之间可以组成一个局域网,请你统计机房中最大的局域网包含的服务器个数。原创 2023-12-11 17:02:51 · 421 阅读 · 0 评论 -
最大化控制资源成本 - 华为OD统一考试
OD统一考试题解: Java / Python / C++。公司创新实验室正在研究如何最小化资源成本,最大化资源利用率,请你设计算法帮他们解决一个任务分布问题:有taskNum项任务,每人任务有开始时间(startTime) ,结更时间(endTme) 并行度(paralelism) 三个属性,并行度是指这个任务运行时将会占用的服务器数量,一个服务器在每个时刻可以被任意任务使用但最多被一个任务占用,任务运行完成立即释放(结束时刻不占用)。任务分布问题是指给定一批任务,让这批任务由同一批服务器承载运行,请原创 2023-12-20 18:09:28 · 601 阅读 · 0 评论 -
掌握的单词个数 - 华为OD统一考试
OD统一考试题解: Java / Python / C++。有一个字符串数组 words 和一个字符串 chars。假如可以用 chars 中的字母拼写出 words 中的某个"单词"(字符串),那么我们就认为你掌握了这个单词。words 的字等仅由 a-z 英文小写宁母组成,例如“abc”。chars 由 a- z 英文小写字母和“?”组成,其中英文“?"表示万能字符,能够在拼写时当作任意一个英文字母。例如“?"可以当作"a"等字母。注意: 每次拼写时,chars 中的每个字母和万能字符都只原创 2023-12-26 11:03:29 · 777 阅读 · 0 评论 -
山峰个数 - 华为OD统一考试
OD统一考试分值: 100分题解: Java / Python / C++。给定一个数组,数组中的每个元素代表该位置的海拔高度。0表示平地,>=1时表示属于某个山峰,山峰的定义为当某个位置的左右海拔均小于自己的海拔时,该位置为山峰。数组起始位置计算时可只满足一边的条件。原创 2023-12-15 16:56:07 · 368 阅读 · 0 评论 -
We are a team - 华为OD统一考试
OD统一考试题解: Java / Python / C++。总共有 n 个人在机房,每个人有一个标号 (1原创 2023-12-28 11:16:17 · 1676 阅读 · 0 评论 -
CPU算力分配 - 华为OD统一考试
OD统一考试题解: Java / Python / C++。现有两组服务器A和B,每组有多个算力不同的CPU,其中 A 是A组第个CPU的运算能力,是 B组 第个CPU的运算能力。一组服务器的总算力是各CPU的算力之和。为了让两组服务器的算力相等,允许从每组各选出一个CPU进行一次交换。求两组服务器中,用于交换的CPU的算力,并且要求从A组服务器中选出的CPU,算力尽可能小。原创 2023-12-20 18:08:16 · 896 阅读 · 0 评论 -
云短信平台优惠活动 - 华为OD统一考试
OD统一考试题解: Java / Python / C++。某云短信厂商,为庆祝国庆,推出充值优惠活动。现在给出客户预算,和优惠售价序列,求最多可获得的短信总条数。输入描述第一行客户预算M,其中 0原创 2023-12-29 16:46:43 · 703 阅读 · 0 评论 -
5键键盘的输出 - 华为OD统一考试
有一个特殊的 5键键盘,上面有 a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键。a 键在屏幕上输出一个字母 a;ctrl-c 将当前选择的字母复制到剪贴板;ctrl-x 将当前选择的 字母复制到剪贴板,并清空选择的字母;ctrl-v 将当前剪贴板里的字母输出到屏幕;ctrl-a 选择当前屏幕上所有字母。原创 2023-12-11 14:09:01 · 242 阅读 · 0 评论 -
石头剪刀布游戏 - 华为OD统一考试
OD统一考试分值: 100分题解: Java / Python / C++。石头剪刀布游戏有 3 种出拳形状: 石头、剪刀、布。分别用字母 A,B,C 表示游戏规则:1. 出拳形状之间的胜负规则如下: A>B; B>C; C>A; 左边一个字母,表示相对优势形状。右边一个字母,表示相对劣势形状。2. 当本场次中有**且仅有一种出拳形状优于其它出拳形状,则该形状的玩家是胜利者**。否则认为是平局。当发生平局,没有赢家。有多个胜利者时,同为赢家。例如 1: 三个玩家出拳分别是A,B,C,由于出现三原创 2024-01-03 11:29:38 · 1727 阅读 · 0 评论 -
攀登者1 - 华为OD统一考试
OD统一考试分值: 100分题解: Java / Python / C++。攀登者喜欢寻找各种地图,并且尝试攀登到最高的山峰。地图表示为一维数组,数组的索引代表水平位置,数组的元素代表相对海拔高度。其中数组元素0代表地面。例如:[0,1,2,4,3,1,0,0,1,2,3,1,2,1,0],代表如下图所示的地图,地图中有两个山脉位置分别为 1,2,3,4,5 和 8,9,10,11,12,13,最高峰高度分别为 4,3。最高峰位置分别为3,10。一个山脉可能有多座山峰(高度大于相邻位置的高度,原创 2024-01-04 12:36:43 · 975 阅读 · 0 评论 -
API集群负载统计 - 华为OD统一考试
OD统一考试分值: 100分题解: Java / Python / C++。某个产品的RESTful API集合部署在服务器集群的多个节点上,近期对客户端访问日志进行了采集,需要统计各个API的访问频次,根据热点信息在服务器节点之间做负载均衡,现在需要实现热点信息统计查询功能。RESTful API是由多个层级构成,层级之间使用 / 连接,如 /A/B/C/D 这个地址,A属于第一级,B属于第二级,C属于第三级,D属于第四级。现在负载均衡模块需要知道给定层级上某个名字出现的频次,未出现过用0表示,原创 2024-01-03 13:33:42 · 1029 阅读 · 0 评论 -
密码输入检测 - 华为OD统一考试
OD统一考试(C卷)分值: 100分题解: Java / Python / C++。给定用户密码输入流input,输入流中字符 ‘=8;密码至少需要包含1个大写字母:密码至少需要包含1个小写字母;密码至少需要包含1个数字;密码至少需要包含1个字母和数字以外的非空白特殊字符;注意空串退格后仍然为空串,且用户输入的字符串不包含 ‘原创 2024-01-08 15:03:26 · 778 阅读 · 0 评论 -
考古学家 - 华为OD统一考试
OD统一考试分值: 200分题解: Java / Python / C++。有一个考古学家发现一个石碑,但是很可惜发现时其已经断成多段。原地发现`N`个断口整齐的石碑碎片,为了破解石碑内容,考古学家希望有程序能帮忙计算复原后的石碑文字组合数,你能帮忙吗?**备注**: 如果存在石碑碎片内容完全相同,则由于碎片间的顺序不影响复原后的碑文内容,仅相同碎片间的位置变化不影响组合## 输入描述第一行输入`N`,`N`表示石碑碎片的个数第二行依次输入石碑碎片上的文字内容`S`共有`N`组原创 2024-01-11 18:06:54 · 797 阅读 · 0 评论 -
社交距离 - 华为OD统一考试
OD统一考试(C卷)分值: 200分题解: Java / Python / C++。疫情期间,需要大家保证一定的社交距离,公司组织开交流会议,座位有一排共N个座位,编号分别为[0..N-1],要求员工一个接着一个进入会议室,并且可以在任何时候离开会议室。满足:每当一个员工进入时,需要坐到最大社交距离的座位(例如:位置A与左右有员工落座的位置距离分别为2和2,位置B与左右有员工落座的位置距离分别为2和3,影响因素都为2个位置,则认为座位A和B与左右位置的社交距离是一样的),如果有多个这样的座位,则坐到索原创 2024-01-09 12:44:17 · 978 阅读 · 0 评论 -
最大花费金额 - 华为OD统一考试
OD统一考试题解: Java / Python / C++。双十一众多商品进行打折销售,小明想购买自己心仪的一些物品,但由于受购买资金限制,所以他决定从众多心仪商品中**购买三件**,而且**想尽可能的花完资金**现在请你设计一个程序帮助小明计算尽可能花费的最大资金数额。输入描述第一行为一维整型数组M,数组长度Q小于100,数组元素记录单个商品的价格,单个商品价格小于1000。第二行为购买资金的额度R,R小于100000。原创 2023-12-31 15:44:38 · 393 阅读 · 0 评论 -
求幸存数之和 - 华为OD统一考试
OD统一考试(C卷)分值: 100分题解: Java / Python / C++。给一个正整数列nums,一个跳数jump,及幸存数量left。运算过程为:从索引为0的位置开始向后跳,中间跳过 J 个数字,命中索引为 J+1的数字,该数被敲出,并从该点起跳,以此类推,直到幸存left个数为止。然后返回幸存数之和。约束:1. 0是第一个起跳点。2. 起跳点和命中点之间间隔jump 个数字,已被敲出的数字不计入在内。3. 跳到末尾时无缝从头开始(循环查找),并可以多次循环。4. 若起始时 l原创 2024-01-10 11:37:05 · 1013 阅读 · 0 评论 -
不开心的小朋友 - 华为OD统一考试
OD统一考试题解: Java / Python / C++。游乐场里增加了一批摇摇车,非常受小朋友欢迎,但是每辆摇摇车同时只能有一个小朋友使用如果没有空余的摇摇车,需要排队等候,或者直接离开,最后没有玩上的小朋友会非常不开心。请根据今天小朋友的来去情况,统计不开心的小朋友数量。1、摇摇车数量为N,范围是: 1原创 2023-12-30 13:38:17 · 515 阅读 · 0 评论 -
螺旋数字矩阵 - 华为OD统一考试
OD统一考试(C卷)分值: 100分题解: Java / Python / C++。疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法:给出数字**个数n**和**行数m** (0 < n原创 2024-01-09 13:42:46 · 1757 阅读 · 0 评论 -
代表团坐车 - 华为OD统一考试
OD统一考试(B卷)分值: 100分题解: Java / Python / C++。某组织举行会议,来了多个代表团同时到达,接待处只有一辆汽车可以同时接待多个代表团,为了提高车辆利用率,请帮接待员计算可以坐满车的接待方案输出方案数量。**约束:**1. 一个团只能上一辆车,并且代表团人数(代表团数量小于30,每个代表团人数小于30)小于汽车容量(汽车容量小于100)。2. 需要将车辆坐满。## 输入描述第一行 代表团人数,英文逗号隔开,代表团数量小于30,每个代表团人数小于30。原创 2024-01-02 12:15:18 · 966 阅读 · 0 评论 -
攀登者2 - 华为OD统一考试
OD统一考试分值: 200分题解: Java / Python / C++。攀登者喜欢寻找各种地图,并且尝试攀登到最高的山峰。地图表示为一维数组,数组的索引代表水平位置,数组的元素代表相对海拔高度。其中数组元素0代表地面。例如:[0,1,2,4,3,1,0,0,1,2,3,1,2,1,0],代表如下图所示的地图,地图中有两个山脉位置分别为 1,2,3,4,5 和 8,9,10,11,12,13,最高峰高度分别为 4,3。最高峰位置分别为3,10。一个山脉可能有多座山峰(高度大于相邻位置的高度,原创 2024-01-04 12:40:00 · 1912 阅读 · 0 评论 -
欢乐的周末 - 华为OD统一考试
OD统一考试题解: Java / Python / C++。小华和小为是很要好的朋友,他们约定周末一起吃饭。通过手机交流,他们在地图上选择了多个聚餐地点(由于自然地形等原因,部分聚餐地点不可达)。求小华和小为都能到达的聚餐地点有多少个?## 输入描述第一行输入m和n,m代表地图的长度,n代表地图的宽度第二行开始具体输入地图信息,地图信息包含:0 为通畅的道路1 为障碍物 (且仅1为障碍物)2 为小华或者小为,地图中必定有且仅有2个(非障碍物)3 为被选中的聚餐地点 (非原创 2024-01-10 13:00:45 · 702 阅读 · 0 评论 -
五子棋迷 - 华为OD统一考试
OD统一考试(B卷)分值: 100分题解: Java / Python / C++。张兵和王武是五子棋迷,工作之余经堂切磋棋艺。这不,这会儿又下起来了。走了一会儿,轮张兵了,对着一条线思考起来了,这条线上的棋子分布如下:用数组表示: -1 0 1 1 1 0 1 0 1 -1棋了分布说明:-1代表白子,0代表空位,1代表黑子- 数组长度L,满足1 < L < 40,L为奇数你得帮他写一个程序,算出最有利的出子位置。 最有利定义:- 找到一个空位(0),用棋子(1/-1)填充该位置,原创 2024-01-12 15:09:52 · 350 阅读 · 0 评论 -
结队编程 - 华为OD统一考试
OD统一考试题解: Java / Python / C++。某部门计划通过结队编程来进行项目开发,已知该部门有 N 名员工,每个员工有独一无二的职级,每三个员工形成一个小组进行结队编程,结队分组规则如下:从部门中选出序号分别为 i、j、k 的3名员工,他们的职级分别为 level[i],level[j],level[k],结队小组满足 level[i] < level[j] < level[k] 或者 level[i] > level[j] > level[k],其中 0 ≤ i < j < k <原创 2024-01-06 12:23:21 · 2773 阅读 · 1 评论 -
树状结构查询 - 华为OD统一考试
OD统一考试分值: 200分题解: Java / Python / C++。通常使用多行的节点、父节点表示一棵树,比如: 西安 陕西 陕西 中国 江西 中国 中国 亚洲 泰国 亚洲输入一个节点之后,请打印出来树中他的所有下层节点。## 输入描述第一行输入行数,下面是多行数据,每行以空格区分节点和父节点接着是查询节点## 输出描述输出查询节点的所有下层节点。以字典序排序。**备注:** 树中的节点是唯一的,不会出现两个节点,是同一个名原创 2024-01-11 11:50:46 · 689 阅读 · 0 评论 -
万能字符单词拼写 - 华为OD统一考试
OD统一考试(C卷)分值: 100分题解: Java / Python / C++。有一个字符串数组 words 和一个字符串 chars。假如可以用 chars 中的字母拼写出 words 中的某个"单词"(字符串),那么我们就认为你掌握了这个单词。words 的字符仅由 a-z 英文小写宁母组成,例如“abc”。chars 由 a- z 英文小写字母和“?”组成,其中英文“?"表示万能字符,能够在拼写时当作任意一个英文字母。例如“?"可以当作"a"等字母。注意: 每次拼写时,chars 中原创 2024-01-08 14:32:29 · 969 阅读 · 0 评论