
华为OD机试(C++)2025
文章平均质量分 75
本专栏为2024年华为OD统一考试(C卷D卷)真题,提供Python和C++解法,适合使用Python/C++考试,又不想做太多题目的小伙伴。注意不要照抄代码,以免重复率过高!
2024剑指offer
博主10+年互联网大厂经验,精通多种编程语言,乐于分享面试经验。
展开
-
2024华为OD机试题库目录(Python、C++)-(C卷+D卷)
本页面提供《华为OD机试(C++)》专栏的链接,方便订阅专栏的小伙伴访问!原创 2024-08-11 23:10:13 · 691 阅读 · 0 评论 -
2024华为OD机试最新题库-(E卷+D卷+C卷)-(JAVA、Python、C++)
2024年8月-2025年2月,OD统一考试考的都是(E卷),题库已为大家准备好,命中率95%以上。原创 2024-04-29 23:18:05 · 8176 阅读 · 0 评论 -
2024华为OD机试真题-最大矩阵和(C++)-E卷-100分
给定一个二维整数矩阵,要在这个矩阵中选出一个子矩阵,使得这个子矩阵内所有的数字和尽量大,我们把这个子矩阵称为和最大子矩阵,子矩阵的选取原则是原矩阵中一块相互连续的矩形区域。原创 2025-03-30 22:36:51 · 8 阅读 · 0 评论 -
2024华为OD机试真题-箱子之字形摆放(C++)-E卷A卷-100分
有一批箱子(形式为字符串,设为str),要求将这批箱子按从上到下以之字形的顺序摆放在宽度为 n 的空地,请输出箱子的摆放位置。例如:箱子ABCDEFG,空地宽度为3,摆放结果如图:输入一行字符串,通过空格分隔,前面部分为字母或数字组成的字符串str,表示箱子;后面部分为数字n,表示空地的宽度。例如:原创 2025-03-22 10:26:43 · 41 阅读 · 0 评论 -
2024华为OD机试真题-模拟商场优惠打折(一)-(C++)-E卷-100分
模拟商场优惠打折,有三种优惠券可以用,满减券、打折券和无门槛券。满减券:满100减10,满200减20,满300减30,满400减40,以此类推不限制使用;打折券:固定折扣92折,且打折之后向下取整,每次购物只能用1次;无门槛券:一张券减5元,没有使用限制。每个人结账使用优惠券时有以下限制:每人每次只能用两种优惠券,并且同一种优惠券必须一次用完,不能跟别的穿插使用(比如用一张满减,再用一张打折,再用一张满减,这种顺序不行)。求不同使用顺序下每个人用完券之后得到的最低价格和对应使用优惠券的总数;如原创 2025-03-15 01:21:11 · 36 阅读 · 0 评论 -
2024华为OD机试真题-开心消消乐(C++)-E卷A卷-100分
给定一个N行M列的二维矩阵,矩阵中每个位置的数字取值为0或1。现需要将矩阵中所有的1进行反转为0,规则如下:1) 当点击一个1时,该1便被反转为0,同时相邻的上、下、左、右,以及左上、左下、右上、右下8 个方向的1(如果存在1)均会自动反转为0;2)进一步地,一个位置上的1被反转为0时,与其相邻的8个方向的1(如果存在1)均会自动反转0;按照上述规则示例中的矩阵只最少需要点击2次后,所有值均为0。请问,给定一个矩阵,最少需要点击几次后,所有数字原创 2025-03-14 21:01:40 · 23 阅读 · 0 评论 -
2024华为OD机试真题-按单词下标区间翻转文章内容(C++/Java/Python)-E卷B卷-100分
输入一个英文文章片段,翻转指定区间的单词顺序,标点符号和普通字母一样处理。例如输入字符串 “I am a developer.”,区间[0,3]则输出 “developer. a am I”。原创 2025-03-13 22:19:59 · 96 阅读 · 0 评论 -
2024华为OD机试真题-太阳能板最大面积(C++)-E卷B卷-100分
给航天器一侧加装长方形或正方形的太阳能板(图中的红色斜线区域),需要先安装两个支柱(图中的黑色竖条),再在支柱的中间部分固定太阳能板。但航天器不同位置的支柱长度不同,太阳能板的安装面积受限于最短一侧的那根支柱长度原创 2025-03-13 21:42:10 · 196 阅读 · 0 评论 -
2024华为OD机试真题-相对开音节(C++)-E卷B卷-100分
相对开音节构成的结构为辅音+元音(aeiou)+辅音(r除外)+e常见的单词有bike cake给定一个字符串,以空格为分隔符反转每个单词的字母若单词中包含如数字等其他非字母时不进行反转反转后计算其中含有相对开音节结构的子串个数(连续子串中部分字符可以重复)原创 2025-03-13 20:52:46 · 142 阅读 · 0 评论 -
2024华为OD机试真题-日志排序(C++)-E卷-100分
运维工程师采集到某产品现网运行一天产生的日志N条,现需根据日志时间按时间先后顺序对日志进行排序。日志时间格式为H:M:S.N,其中:H表示小时(0-23)。M表示分钟(0-59)。原创 2025-03-11 19:49:36 · 61 阅读 · 0 评论 -
2024华为OD机试真题-分班(C++/Java/Python)-E卷B卷-100分
幼儿园两个班的小朋友在排队时混在了一起,每位小朋友都知道自己是否与前面一位小朋友是否同班,请你帮忙把同班的小朋友找出来。小朋友的编号为整数,与前一位小朋友同班用Y表示,不同班用N表示。原创 2025-03-10 23:12:02 · 28 阅读 · 0 评论 -
2024华为OD机试真题-数组组成的最小数字(C++)-E卷B卷-100分
给定一个整型数组,请从该数组中选择3个元素组成最小数字并输出(如果数组长度小于3,则选择数组中所有元素来组成最小数字)。输入描述:一行用半角逗号分割的字符串记录的整型数组,0 < 数组长度原创 2025-03-10 00:38:31 · 120 阅读 · 0 评论 -
2024华为OD机试真题-找最小数(C++)-E卷B卷-100分
给一个正整数NUM1,计算出新正整数NUM2,NUM2为NUM1中移除N位数字后的结果,需要使得NUM2的值最小。1.输入的第一行为一个字符串,字符串由0-9字符组成,记录正整数NUM1,NUM1长度小于32。2.输入的第二行为需要移除的数字的个数,小于NUM1长度。原创 2025-03-09 23:51:07 · 65 阅读 · 0 评论 -
2024华为OD机试真题-优秀学员统计(C++)-E卷A卷-100分
公司某部门软件教导团正在组织新员工每日打卡学习活动,他们开展这项学习活动已经一个月了,所以想统计下这个月优秀的打卡员工。每个员工会对应一个id,每天的打卡记录记录当天打卡员工的id集合,,一共30天。请你实现代码帮助统计出打卡次数top5的员工。加入打卡次数相同,将较早参与打卡的员工排在前面,如果开始参与打卡的时间还是一样,将id较小的员工排在前面。注:不考虑并列的情况,按规则返回前5名员工的id即可,如果当月打卡的员工少于5人,按规则排序返回所有有打卡记录的员原创 2025-03-08 00:27:19 · 43 阅读 · 0 评论 -
2024华为OD机试真题-优秀学员统计(python)-E卷A卷-100分
公司某部门软件教导团正在组织新员工每日打卡学习活动,他们开展这项学习活动已经一个月了,所以想统计下这个月优秀的打卡员工。每个员工会对应一个id,每天的打卡记录记录当天打卡员工的id集合,,一共30天。请你实现代码帮助统计出打卡次数top5的员工。加入打卡次数相同,将较早参与打卡的员工排在前面,如果开始参与打卡的时间还是一样,将id较小的员工排在前面。原创 2023-05-10 06:45:00 · 129 阅读 · 0 评论 -
2024华为OD机试真题-磁盘容量排序算法(C++)-E卷B卷-100分
磁盘的容量单位常用的有 M,G,T 这三个等级,它们之间的换算关系为:1T = 1024G1G = 1024M现在给定 n 块磁盘的容量,请对它们按从小到大的顺序进行稳定排序。例如给定5块盘的容量:1T,20M,3G,10G6T,3M12G9M原创 2025-03-06 23:16:06 · 221 阅读 · 0 评论 -
2024华为OD机试真题-字符串加密算法(C++)-E卷-100分
给你一串未加密的字符串 str,通过对字符串的每一个字母进行改变来实现加密,加密方式是在每一个字母 str[i] 偏移特定数组元素 a[i] 的量数组 a 前三位已经赋值:a[0]=1,a[1]=2,a[2]=4,当 i ≥ 3 时,数组元素 a[i]=a[i-1]+a[i-2]+a[i-3]原创 2025-03-06 22:16:49 · 135 阅读 · 0 评论 -
2024华为OD机试真题-免单统计(C++)-E卷-100分
华为商城举办了一个促销活动,如果某顾客是某一秒内最早时刻下单的顾客(可能是多个人),则可以获取免单。请你编程计算有多少顾客可以获取免单。输入描述输入为 n 行数据,每一行表示一位顾客的下单时间以(年-月-日 时-分-秒.毫秒)形式给出。原创 2025-03-05 22:49:09 · 21 阅读 · 0 评论 -
2024华为OD机试真题-整数编码算法实现(C++)-E卷-100分
实现一种整数编码方法,使得待编码的数字越小,编码后所占用的字节数越小。编码规则如下:编码时7位一组,每个字节的低7位用于存储待编码数字的补码字节的最高位表示后续是否还有字节,置1表示后面还有更多的字节,置0表示当前字节为最后一个字节。采用小端序编码,低位和低字节放在低地址上。原创 2025-03-05 21:57:48 · 86 阅读 · 0 评论 -
2024华为OD机试真题-螺旋数字矩阵-(C++)-E卷D卷-100分
疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法:给出数字个数 n (0 < n ≤ 999)和行数 m(0 < m ≤ 999),从左上角的 1 开始,按照顺时针螺旋向内写方式,依次写出2,3,....,n,最终形成一个 m 行矩阵。原创 2025-03-05 21:16:02 · 611 阅读 · 0 评论 -
2024华为OD机试真题-数据分类算法(C++)-E卷-100分
对一个数据 a 进行分类,分类方法为:此数据 a(四个字节大小)的四个字节相加对一个给定的值 b 取模 如果得到的结果小于一个给定的值 c,则数据 a 为有效类型,其类型为取模的值 如果得到的结果大于或者等于 c,则数据 a 为无效类型原创 2025-03-04 23:49:27 · 330 阅读 · 0 评论 -
2024华为OD机试真题-热点网站统计(C++)-E卷-100分
企业路由器的统计页面,有一个功能需要动态统计公司访问最多的网页 URL top N。请设计一个算法,可以高效动态统计 Top N 的页面。输入描述每一行都是一个URL或一个数字如果是 URL,代表一段时间内的网页访问原创 2025-03-03 23:03:52 · 142 阅读 · 0 评论 -
2024华为OD机试真题-单向链表中间节点(C++)-E卷|2023 Q1-100分
求单向链表中间的节点值,如果奇数个节点取中间,偶数个取偏右边的那个值。输入描述第一行 链表头节点地址 后续输入的节点数n后续输入每行表示一个节点,格式 节点地址 节点值 下一个节点地址(-1表示空指针)输入保证链表不会出现环,并且可能存在一些节点不属于链表。原创 2025-03-02 23:56:11 · 25 阅读 · 0 评论 -
2024华为OD机试真题-IPv4地址转换成整数(C++)-E卷B卷-100分
存在一种虚拟IPv4地址,由4小节组成,每节的范围为0~255,以#号间隔,虚拟IPv4地址可以转换为一个32位的整数,例如:128#0#255#255,转换为32位整数的结果为2147549183(0x8000FFFF)1#0#0#0,转换为32位整数的结果为16777216(0x01000000)原创 2025-02-28 21:29:57 · 165 阅读 · 0 评论 -
2024华为OD机试真题-数字涂色(C++)-E卷B卷-100分
疫情过后,希望小学终于又重新开学了,三年二班开学第一天的任务是将后面的黑板报重新制作。黑板上已经写上了N个正整数,同学们需要给这每个数分别上一种颜色。原创 2025-02-28 19:47:09 · 165 阅读 · 0 评论 -
2024华为OD机试真题-根据某条件聚类最少交换次数(C++)-E卷-100分
给出数字 K,请输出所有结果小于 K 的整数组合到一起的最少交换次数。组合一起是指满足条件的数字相邻,不要求相邻后在数组中的位置。原创 2025-02-27 21:40:53 · 38 阅读 · 0 评论 -
2024华为OD机试真题-荒岛求生(C++)-E卷B卷-100分
有一个荒岛,只有左右两个港口,只有一座桥连接这两个港口,现在有一群人需要从两个港口逃生,有的人往右逃生,有的往左逃生,如果两个人相遇,则PK,体力值大的能够打赢体力值小的,体力值相同则同归干尽,赢的人才能继续往前逃生,并减少相应的体力原创 2025-02-25 22:52:13 · 320 阅读 · 0 评论 -
2024华为OD机试真题-货币单位换算(C++)-E卷-100分
记账本上记录了若干条多国货币金额,需要转换成人民币分(fen),汇总后输出。每行记录一条金额,金额带有货币单位,格式为数字+单位,可能是单独元,或者单独分,或者元与分的组合。要求将这些货币全部换算成人民币分(fen)后进行汇总,汇总结果仅保留整数,小数部分舍弃。元和分的换算关系都是1:100,如下:1CNY=100fen(1元=100分)1HKD=100cents(1港元=100港分)1JPY=100sen(1日元=100仙)1EUR=100eurocents(1欧元=100欧分)1GBP=原创 2025-02-24 23:04:58 · 108 阅读 · 0 评论 -
2024华为OD机试真题-分割数组的最大差值(C++)-E卷B卷-100分
给定一个由若干整数组成的数组nums ,可以在数组内的任意位置进行分割,将该数组分割成两个非空子数组(即左数组和右数组),分别对子数组求和得到两个值,计算这两个值的差值,请输出所有分割方案中,差值最大的值。原创 2025-02-24 19:44:54 · 116 阅读 · 0 评论 -
2024华为OD机试真题-关联子串(C++)-E卷B卷-100分
给定两个字符串str1和str2,str1进行排列组合只要有一个为str2的子串则认为str1是str2的关联子串,请返回子串在str2的起始位置,若不是关联子串则返回-1。原创 2025-02-21 18:04:24 · 84 阅读 · 0 评论 -
2024华为OD机试真题-选修课(C++)-E卷B卷-100分
现有两门选修课,每门选修课都有一部分学生选修,每个学生都有选修课的成绩,需要你找出同时选修了两门选修课的学生,先按照班级进行划分,班级编号小的先输出,原创 2025-02-21 17:21:53 · 22 阅读 · 0 评论 -
2024华为OD机试真题-VLAN资源池(C++)-E卷B卷-100分
VLAN是一种对局域网设备进行逻辑划分的技术,为了标识不同的VLAN,引入VLAN ID(1-4094之间的整数)的概念。定义一个VLAN ID的资源池(下称VLAN资源池),资源池中连续的VLAN用开始VLAN-结束VLAN表示,不连续的原创 2025-02-21 15:20:49 · 27 阅读 · 0 评论 -
2024华为OD机试真题-报数游戏(C++)-E卷B卷-100分
100个人围成一圈,每个人有一个编码,编号从1开始到100。他们从1开始依次报数,报到为M的人自动退出圈圈,然后下一个人接着从1开始报数,直到剩余的人数小于M。请问最后剩余的人在原先的编号为多少?原创 2025-02-23 06:15:00 · 18 阅读 · 0 评论 -
2024华为OD机试真题-计算堆栈中的剩余数字(C++)-E卷-100分
向一个空栈中依次存入正整数,假设入栈元素 n 按顺序依次为:nx ... n4、n3、n2、n1,每当元素入栈时,如果 n1 = n2 + ... + ny(y 的范围[2,x], ),则 n1 ~ ny 全部元素出栈,重新入栈新元素 m(m = 2 * n1)。原创 2025-02-22 06:30:00 · 15 阅读 · 0 评论 -
2024华为OD机试E卷-字符统计及重排-(C++)-100分
给出一个仅包含字母的字符串,不包含空格,统计字符串中各个字母(区分大小写)出现的次数,并按照字母出现次数从大到小的顺序。输出各个字母及其出现次数。如果次数相同,按照自然顺序进行排序,且小写字母在大写字母之前。原创 2025-02-18 22:13:36 · 17 阅读 · 0 评论 -
2024华为OD机试真题-we are a team(C++)-E卷B卷-100分
总共有 n 个人在机房,每个人有一个标号他们分成了多个团队,需要你根据收到的 m 条消息判定指定的两个人是否在一个团队中,具体的:消息构成为 a b c,整数 a、b 分别代表两个人的标号,整数 c 代表指令c == 0 代表 a 和 b 在一个团队内原创 2025-02-20 11:30:00 · 29 阅读 · 0 评论 -
2024华为OD机试真题-水仙花数Ⅰ(C++)-E卷B卷-100分
所谓水仙花数,是指一个n位的正整数,其各位数字的n次方和等于该数本身。例如153是水仙花数,153是一个3位数,并且153 = 1^3 + 5^3 + 3^3。原创 2025-02-20 07:30:00 · 29 阅读 · 0 评论 -
2024华为OD机试真题-单词接龙(C++)-E卷B卷-100分
单词接龙的规则是:可用于接龙的单词首字母必须要前一个单词的尾字母相同;当存在多个首字母相同的单词时,取长度最长的单词,如果长度也相等,则取字典序最小的单词;已经参与接龙的单词不能重复使用。原创 2025-02-18 08:59:14 · 437 阅读 · 0 评论 -
2025华为OD机试真题-猜数字(C++)-E卷-100分
一个人设定一组四码的数字作为谜底,另一方猜。每猜一个数,出数者就要根据这个数字给出提示,提示以XAYB形式呈现,直到猜中位置。其中X表示位置正确的数的个数(数字正确且位置正确),而Y表示数字正确而位置不对的数的个数。原创 2025-02-18 06:15:00 · 42 阅读 · 0 评论 -
2025华为OD机试真题-猜字谜(C++)-E卷-100分
小王设计了一个简单的猜字谜游戏,游戏的谜面是一个错误的单词,比如nesw,玩家需要猜出谜底库中正确的单词。猜中的要求如下:对于某个谜面和谜底单词,满足下面任一条件都表示猜中:1)变换顺序以后一样的,比如通过变换w和e的顺序,“nwes”跟“news”是可以完全对应的;2)字母去重以后是一样的,比如“woood”和“wood”是一样的,它们去重后都是“wod”请你写一个程序帮忙在谜底库中找到正确的谜底。谜面是多个单词,都需要找到对应的谜底,如果找不到的话,返回”not found”原创 2025-02-17 11:46:19 · 450 阅读 · 0 评论