华为OD机试C卷+D卷(2024)
文章平均质量分 70
2024年华为OD机考C卷D卷题库合集,已帮助1000+候选人顺利通过机试。JAVA、Python、C++等多种语言实现,请勿完整复制代码,避免查重。(发现新题目,随时更新)
goldarmour
博主10+年互联网大厂经验,精通多种编程语言,乐于分享面试经验。
展开
-
【华为OD机试-C卷D卷-200分】抢7游戏【C++/Java/Python】
A、B两个人玩抢7游戏,游戏规则为:A先报一个起始数字 X(10 ≤ 起始数字 ≤ 10000),B报下一个数字 Y (X - Y < 3),A再报一个数字 Z(Y - Z < 3),以此类推,直到其中一个抢到7,抢到7即为胜者;在B赢得比赛的情况下,一共有多少种组合?原创 2024-05-22 01:47:07 · 1 阅读 · 0 评论 -
【华为OD机试-C卷D卷-200分】伐木工(C++/Java/Python)
一根X米长的树木,伐木工切割成不同长度的木材后进行交易,交易价格为每根木头长度的乘积。规定切割后的每根木头长度都为正整数;也可以不切割,直接拿整根树木进行交易。请问伐木工如何尽量少的切割,才能使收益最大化?原创 2024-05-19 01:17:46 · 106 阅读 · 0 评论 -
【华为OD机试-C卷D卷-200分】Wonderland(C++/Java/Python)
Wonderland是小王居住地一家很受欢迎的游乐园。Wonderland目前有4种售票方式,分别为一日票(1天)、三日票(3天)、周票(7天)和月票(30天)。每种售票方式的价格由一个数组给出,每种票据在票面时限内可以无限制地进行游玩。例如:小王在第10日买了一张三日票,小王可以在第10日、第11日和第12日进行无限制地游玩。原创 2024-05-18 01:13:15 · 16 阅读 · 0 评论 -
【华为OD机试-C卷D卷-200分】可以组成网络的服务器【C++/Java/Python】
在一个机房中,服务器的位置标识在 n*m 的整数矩阵网格中,1 表示单元格上有服务器,0 表示没有。如果两台服务器位于同一行或者同一列中紧邻的位置,则认为它们之间可以组成一个局域网。请你统计机房中最大的局域网包含的服务器个数。原创 2024-05-17 21:36:09 · 18 阅读 · 0 评论 -
【华为OD机试-C卷D卷-200分】特殊的加密算法(C++/Java/Python)
有一种特殊的加密算法,明文为一段数字串,经过密码本查找转换,生成另一段密文数字串。规则如下:明文为一段数字串由 0~9 组成密码本为数字 0~9 组成的二维数组需要按明文串的数字顺序在密码本里找到同样的数字串,密码本里的数字串是由相邻的单元格数字组成,上下和左右是相邻的,注意:对角线不相邻,同一个单元格的数字不能重复使用。原创 2024-05-17 19:43:34 · 15 阅读 · 0 评论 -
【华为OD机试-C卷D卷-200分】找单词(C++/Java/Python)
给一个字符串和一个二维字符数组,如果该字符串存在于该数组中,则按字符串的字符顺序输出字符串每个字符所在单元格的位置下标字符串,如果找不到返回字符串“N”。1.需要按照字符串的字符组成顺序搜索,且搜索到的位置必须是相邻单元格,其中“相邻单元格”是指那些水平相邻或垂直相邻的单元格。原创 2024-05-17 01:23:55 · 100 阅读 · 0 评论 -
【华为OD机试-C卷D卷-200分】最长子字符串的长度(二)(C++/Java/Python)
给你一个字符串 s,字符串 s 首尾相连成一个环形,请你在环中找出 'l'、'o'、'x' 字符都恰好出现了偶数次最长子字符串的长度。输入描述输入是一串小写的字母组成的字符串输出描述输出是一个整数原创 2024-05-16 21:57:16 · 24 阅读 · 0 评论 -
【华为OD机试-C卷D卷-200分】找城市(C++/Java/Python)
一张地图上有n个城市,城市和城市之间有且只有一条道路相连:要么直接相连,要么通过其它城市中转相连(可中转一次或多次)。城市与城市之间的道路都不会成环。当切断通往某个城市 i 的所有道路后,地图上将分为多个连通的城市群,设该城市i的聚集度为DPi(Degree of Polymerization)原创 2024-05-16 01:39:00 · 77 阅读 · 0 评论 -
【华为OD机试-C卷D卷-200分】田忌赛马(C++/Java/Python)
给定两个只包含数字的数组a,b,调整数组 a 里面的数字的顺序,使得尽可能多的a[i] > b[i]。数组a和b中的数字各不相同。输出所有可以达到最优结果的a数组的结果。入描述输入的第一行是数组 a 中的数字,其中只包含数字,每两个数字之间相隔一个空格,a数组大小不超过10。原创 2024-05-15 20:21:48 · 217 阅读 · 1 评论 -
【华为OD机试】-(A卷+B卷+C卷+D卷)-2024最新真题目录
本专栏现把基础题目和进阶题目分成两个表格,方便大家查看。这些题目博主每一道都刷了至少两遍,每一行代码都蕴含了博主从业以来所积累的所有经验和技巧,可谓干货满满!原创 2023-03-28 00:28:55 · 38989 阅读 · 59 评论 -
【华为OD机试-C卷D卷-200分】数字排列(C++/Java/Python)
小明负责公司年会,想出一个趣味游戏:屏幕给出 1 ~ 9 中任意 4 个不重复的数字,大家以最快时间给出这几个数字可拼成的数字从小到大排列位于第N 位置的数字,其中 N 为给出数字中最大的(如果不到这么多数字则给出最后一个即可)。原创 2024-05-15 02:09:48 · 63 阅读 · 0 评论 -
【华为OD机试-C卷D卷-200分】 简易内存池【C++/Java/Python】
请实现一个简易内存池,根据请求命令完成内存分配和释放。内存池支持两种操作命令,REQUEST和RELEASE,其格式为:REQUEST=请求的内存大小 表示请求分配指定大小内存,如果分配成功,返回分配到的内存首地址;如果内存不足,或指定的大小为0,则输出error。RELEASE=释放的内存首地址 表示释放掉之前分配的内存,释放成功无需输出,如果释放不存在的首地址则输出error。原创 2024-05-14 02:12:19 · 163 阅读 · 1 评论 -
【华为OD机试C卷D卷】爱吃蟠桃的孙悟空【C++/Java/Python】
孙悟空爱吃蟠桃,有一天趁着蟠桃园守卫不在来偷吃。已知蟠桃园有 N 棵桃树,每颗树上都有桃子,守卫将在 H 小时后回来。孙悟空可以决定他吃蟠桃的速度K(个/小时),每个小时选一颗桃树,并从树上吃掉 K 个,如果树上的桃子少于 K 个,则全部吃掉,原创 2024-03-14 00:06:49 · 308 阅读 · 0 评论 -
【华为OD机试C卷D卷】快递员的烦恼【C++/Java/Python】
快递公司每日早晨,给每位快递员推送需要送到客户手中的快递以及路线信息,快递员自己又查找了一些客户与客户之间的路线距离信息,请你依据这些信息,给快递员设计一条最短路径,告诉他最短路径的距离。原创 2024-04-15 22:13:36 · 153 阅读 · 0 评论 -
【华为OD机试C卷D卷】 最小矩阵宽度【C++/Java/Python】
给定一个矩阵,包含 N * M 个整数,和一个包含 K 个整数的数组。现在要求在这个矩阵中找一个宽度最小的子矩阵,要求子矩阵包含数组中所有的整数。第一行输入两个正整数 N,M,表示矩阵大小。接下来 N 行 M 列表示矩阵内容。下一行包含一个正整数 K。原创 2024-02-02 22:21:44 · 505 阅读 · 0 评论 -
【华为OD机试C卷D卷】高效货运【C++/Java/Python】
老李是货运公司承运人,老李的货车额定载货重量为 wt。现有两种货物:货物 A 单件重量为 wa,单件运费利润为 pa货物 B 单件重量为 wb,单件运费利润为 pb原创 2024-04-18 23:02:50 · 184 阅读 · 0 评论 -
【华为OD机试C卷D卷】员工排遣【C++/Java/Python】
某公司部门需要派遣员工去国外做项目。现在,代号为 x 的国家和代号为 y 的国家分别需要 cntx 名和 cnty 名员工。部门每个员工有一个员工号(1,2,3,......),工号连续,从1开始。原创 2024-04-18 22:56:55 · 78 阅读 · 0 评论 -
【华为OD机试C卷D卷】欢乐的周末【C++/Java/Python】
小华和小为是很要好的朋友,他们约定周末一起吃饭。通过手机交流,他们在地图上选择了多个聚餐地点(由于自然地形等原因,部分聚餐地点不可达),求小华和小为都能到达的聚餐地点有多少个?原创 2023-05-25 23:30:51 · 1271 阅读 · 1 评论 -
【华为OD机试C卷D卷】跳马【C++/Java/Python】
马是象棋(包括中国象棋和国际象棋)中的棋子,走法是每步直一格再斜一格,即先横着或者直者走一格,然后再斜着走一个对角线,可进可退,可越过河界,俗称"马走日"字。给定 m 行 n 列的棋盘(网格图),棋盘上只有棋子象棋中的棋子“马”,并且每个棋子有等级之分,等级为 k 的马可以跳 1~k 步(走的方式与象棋中“马”的规则一样,原创 2024-04-19 23:02:07 · 177 阅读 · 0 评论 -
【华为OD机试C卷D卷】二叉树计算【C++/Java/Python】
请由该二叉树生成一个新的二叉树,它满足其树中的每个节点将包含原始树中的左子树和右子树的和。左子树表示该节点左侧叶子节点为根节点的一颗新树;右子树表示该节点右侧叶子节点为根节点的一颗新树。原创 2024-04-22 21:39:34 · 79 阅读 · 0 评论 -
【华为OD机试C卷D卷】电脑病毒感染【C++/Java/Python】
一个局域网内有很多台电脑,分别标注为 0 ~ N-1 的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用 t 表示。其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不会感染,则返回-1。原创 2024-04-22 21:24:32 · 105 阅读 · 0 评论 -
【华为OD机试C卷D卷】解密犯罪时间【C++/Java/Python】
警察在侦破一个案件时,得到了线人给出的可能犯罪时间,形如 “HH:MM” 表示的时刻。根据警察和线人的约定,为了隐蔽,该时间是修改过的,解密规则为:利用当前出现过的数字,构造下一个距离当前时间最近的时刻,则该时间为可能的犯罪时间。每个出现数字都可以被无限次使用。原创 2024-04-22 20:56:45 · 368 阅读 · 0 评论 -
【华为OD机试C卷D卷】5G网络建设【C++/Java/Python】
现需要在某城市进行5G网络建设,已经选取N个地点设置5G基站,编号固定为1到N,接下来需要各个基站之间使用光纤进行连接以确保基站能互联互通,不同基站之间假设光纤的成本各不相同,且有些节点之间已经存在光纤相连。原创 2024-04-22 21:56:55 · 330 阅读 · 0 评论 -
【华为OD机试C卷D卷】全量和已占用字符集 、字符串统计【C++/Java/Python】
给定两个字符集合,一个是全量字符集,一个是已占用字符集,已占用字符集中的字符不能再使用。要求输出剩余可用字符集。输入一个字符串 一定包含@,@前为全量字符集 @后的为已占用字符集已占用字符集中的字符一定是全量字符集中的字符字符集中的字符跟字符之间使用英文逗号隔开原创 2024-03-30 19:52:58 · 172 阅读 · 0 评论 -
【华为OD机试C卷D卷】查找众数及中位数【C++/Java/Python】
众数是指一组数据中出现次数最多的那个数,众数可以是多个。中位数是指把一组数据从小到大排序后,如果这组数据的总数是奇数,那最中间的那个数就是中位数;原创 2023-06-13 22:45:31 · 827 阅读 · 0 评论 -
【华为OD机试C卷D卷】虚拟理财游戏【C++/Java/Python】
在一款虚拟游戏中生活,你必须进行投资以增强在虚拟游戏中的资产以免被淘汰出局。现有一家Bank,它提供有若干理财产品 m 个,风险及投资回报不同,你有 N(元)进行投资,能接收的总风险值为X。原创 2024-04-15 21:51:44 · 154 阅读 · 0 评论 -
【华为OD机试C卷D卷】字符串序列判定【C++/Java/Python】
输入两个字符串 S 和 L,都只包含英文小写字母。S 长度S 中的每个字符在 L 中都能找到(可以不连续),且 S 在L中字符的前后顺序与 S 中顺序要保持一致。输入两个字符串 S 和 L,都只包含英文小写字母。原创 2024-04-12 19:41:36 · 105 阅读 · 0 评论 -
【华为OD机试C卷D卷v】掌握单词的个数【C++/Java/Python】
有一个字符串数组 words 和一个字符串 chars。假如可以用 chars 中的字母拼写出 words 中的某个“单词”(字符串),那么我们就认为你掌握了这个单词。words 的字符仅由 a-z 英文小写字母组成,例如 "abc"原创 2024-04-16 21:09:18 · 92 阅读 · 0 评论 -
【华为OD机试C卷D卷】小华地图寻宝【C++/Java/Python】
小华按照地图去寻宝,地图上被划分成 m 行和 n 列的方格,横纵坐标范围分别是 [0, n-1] 和 [0, m-1]。在横坐标和纵坐标的数位之和不大于 k 的方格中存在黄金(每个方格中仅存在一克黄金)原创 2024-04-16 21:54:59 · 101 阅读 · 0 评论 -
【华为OD机试C卷D卷】计算三叉搜索树的高度【C++/Java/Python】
定义构造三叉搜索树规则如下:每个节点都存有一个数,当插入一个新的数时,从根节点向下寻找,直到找到一个合适的空节点插入。查找的规则是:1.如果数小于节点的数减去500,则将数插入节点的左子树2.如果数大于节点的数加上500,则将数插入节点的右子树原创 2024-04-17 19:43:30 · 140 阅读 · 0 评论 -
【华为OD机试C卷D卷】API集群负载统计【C++/Java/Python】
某个产品的RESTful API集合部署在服务器集群的多个节点上,近期对客户端访问日志进行了采集,需要统计各个API的访问频次,根据热点信息在服务器节点之间做负载均衡,现在需要实现热点信息统计查询功能。原创 2024-04-17 21:51:37 · 114 阅读 · 0 评论 -
【华为OD机试C卷D卷】生成哈夫曼树【C++/Java/Python】
给定长度为 n 的无序的数字数组,每个数字代表二叉树的叶子节点的权值,数字数组的值均大于等于1。请完成一个函数,根据输入的数字数组,生成哈夫曼树,并将哈夫曼树按照中序遍历输出。为了保证输出的二叉树中序遍历结果统一,增加以下限制:二叉树节点中,左节点权值小于右节点权值,根节点权值为左右节点权值之和。当左右节点权值相同时,左子树高度小于等于右子树高度。原创 2024-04-26 00:00:33 · 723 阅读 · 0 评论 -
【华为OD机试C卷D卷】分披萨【C++/Java/Python】
"吃货"和"馋嘴"两人到披萨店点了一份铁盘(圆形)披萨,并嘱咐店员将披萨按放射状切成大小相同的偶数个小块。但是粗心的服务员将披萨切成了每块大小都完全不同奇数块,且肉眼能分辨出大小。原创 2024-04-24 23:14:50 · 157 阅读 · 0 评论 -
【华为OD机试C卷D卷】字符串变换最小字符串【C++/Java/Python】
给定一个字符串s,最多只能进行一次变换,返回变换后能得到的最小字符串(按照字典序进行比较)。变换规则:交换字符串中任意两个不同位置的字符。原创 2023-08-12 23:32:05 · 432 阅读 · 0 评论 -
【华为OD机试C卷D卷】字符串分割(二)【C++/Java/Python】
给定一个非空字符串S,其被N个‘-’分隔成N+1的子串,给定正整数K,要求除第一个子串外,其余的子串每K个字符组成新的子串,并用‘-’分隔。对于新组成的每一个子串,如果它含有的小写字母比大写字母多,则将这个子串的所有大写字母转换为小写字母;原创 2024-04-18 22:25:26 · 63 阅读 · 0 评论 -
【华为OD机试C卷D卷】学生重新排队【C++/Java/Python】
n 个学生排成一排,学生编号分别是 1 到 n,n 为 3 的整倍数。老师随机抽签决定将所有学生分成 m 个 3 人的小组(n == 3 * m) ,为了便于同组学生交流,老师决定将小组成员安排到一起,也就是同组成员彼此相连,同组任意两个成员之间无其它组的成员。原创 2024-04-17 23:17:04 · 113 阅读 · 0 评论 -
【华为OD机试C卷D卷】小明的幸运数字【C++/Java/Python】
小明在玩一个游戏,游戏规则如下:在游戏开始前,小明站在坐标轴原点处(坐标值为0).给定一组指令和一个幸运数,每个指令都是一个整数,小明按照指令前进指定步数或者后退指定步数。原创 2024-04-17 22:18:47 · 77 阅读 · 0 评论 -
【华为OD机试C卷D卷】 求幸存数之和【C++/Java/Python】
给一个正整数数列 nums,一个跳数 jump,及幸存数量 left。运算过程为:从索引0的位置开始向后跳,中间跳过 J 个数字,命中索引为 J+1 的数字,该数被敲出,并从该点起跳,以此类推,直到幸存 left 个数为止,然后返回幸存数之和。原创 2024-04-26 22:07:00 · 71 阅读 · 0 评论 -
【华为OD机试C卷D卷】会议室占用时间【C++/Java/Python】
现有若干个会议,所有会议共享一个会议室,用数组表示各个会议的开始时间和结束时间,格式为:[[会议1开始时间, 会议1结束时间], [会议2开始时间, 会议2结束时间]]请计算会议室占用时间段。原创 2024-04-26 22:24:39 · 59 阅读 · 0 评论 -
【华为OD机试C卷D卷】手机App防沉迷系统【C++/Java/Python】
智能手机方便了我们生活的同时,也侵占了我们不少的时间。“手机App防沉迷系统”能够让我们每天合理地规划手机App使用时间,在正确的时间做正确的事。它的大概原理是这样的:在一天24小时内,可以注册每个App的允许使用时段一个时间段只能使用一个App,举例说明:不能同时在9:00-10:00注册App2和App3原创 2024-04-26 22:33:17 · 162 阅读 · 0 评论