2024华为OD机试真题(C C++ Java Py JS)
文章平均质量分 96
2023华为OD机试真题,使用C语言、C++、JS、Java、Python五种语言进行解答
优惠券已抵扣
余额抵扣
还需支付
¥69.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
鲨鱼狼臧
正在更新华为OD题目E卷
展开
-
2023华为OD机试真题 B卷真题目录,使用C语言、C++、Java、JS、Python五种语言解答
本文是2023华为OD机试真题(C C++ Java Py JS)专栏的目录贴(持续更新中…)华为OD是Outsourcing Dispacth模式,是华为和外企德科联合招聘的简称。目前华为大多数是OD招聘。OD模式也是华为提出的一种新的用工形式,每年都会从OD项目挑优秀员工转为正编。所有OD和正式员工一样对待,没有差别,部门平时开会、评审等活动都是一起参加的,是同薪同酬,都是由华为的HR直接定的薪资,看的是我们技术能力。华为是大企业,能到华为上班也是有能力的,每个部门都有好多职位,是金子,在哪都会发光。原创 2023-07-25 00:07:01 · 24472 阅读 · 0 评论 -
【华为OD机试真题】109、 机房布局 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
小明正在规划一个大型数据中心机房,为了使得机柜上的机器都能正常满负荷工作,需要确保在每个机柜边上至少要有一个电箱。> 为了简化题目,假设这个机房是一整排, M表示机柜,I表示间隔,请你返回这整排机柜,至少需要多少个电箱。如果无解请返回-1 。原创 2023-08-01 00:28:18 · 744 阅读 · 0 评论 -
【华为OD机试真题】108、 优雅子数组 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
>如果一个数组中出现次数最多的元素出现大于等于K次,被称为k-优雅数组,k也可以被称为优雅阈值。例如,数组1, 2, 3, 1,2, 3, 1,它是一个3-优雅数组,因为元素1出现次数大于等于3次,数组[1, 2,3, 1, 2]就不是一个3-优雅数组,因为其中出现次数最多的元素是1和2,只出现了2次。 给定一个数组A和k,请求出A有多少子数组是k-优雅子数组。 子数组是数组中一个或多 个连续元素组成的数组。 例如,数组[1 ,2,3,4]包含10个子数组,分别原创 2023-08-01 00:28:10 · 544 阅读 · 0 评论 -
【华为OD机试真题】107、 查找重复代码 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
小明负责维护项目下的代码,需要查找出重复代码,支撑后续的代码优化,请你帮助小明找出重复的代码。> 复代查找方法:以字符串形式给定两行代码(字符串长度1 < length 注:如果不存在公共子串,返回空字符串原创 2023-08-01 00:28:00 · 533 阅读 · 0 评论 -
【华为OD机试真题】106、 计算网络信号强度 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
网络信号经过传递会逐层衰减,且遇到阻隔物无法直接穿透,在此情况下需要计算某个位置的网络信号值。注意:网络信号可以绕过阻隔物。 array[m][n]的二维数组代表网格地图,array[i] [j] =代表i行j列是空旷位置; array[i] [j] = x(x为正整数)代表 i行 j列是信号源,信号强度是x; array[i] [j] = -1代表 i行 j列是阻隔物。 信号源只有1个,阻隔物可能有0个或多个,网络信号衰减是上下左右相邻的网格衰减1原创 2023-08-01 00:27:53 · 535 阅读 · 0 评论 -
【华为OD机试真题】105、整理扑克牌 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
给定一组数字,表示扑克牌的牌面数字,忽略扑克牌的花色,请按如下规则对这一组扑克牌进行整理: 步骤1:对扑克牌进行分组,形成组合牌,规则如下: ● 当牌面数字相同张数大于等于4时,组合牌为炸弹”; ● 3张相同牌面数字+ 2张相同牌面数字,且3张牌与2张牌不相同时,组合牌为“葫芦”; ● 3张相同牌面数字,组合牌为“三张”; ● 2张相同牌面数字,组合牌为“对子”; ● 剩余没有相同的牌,则为“单张”; 步骤2:原创 2023-08-01 00:27:36 · 640 阅读 · 0 评论 -
【华为OD机试真题】104、简单的自动曝光、平均像素值 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
一个图像有n个像素点,存储在一个长度为n的数组 img里,每个像素点的取值范围 [0,255]的正整数。> 请你给图像每个像素点值加上一个整数k (可以负数),得到新图 newlmg, 使得新图newlmg的所有像素平均值最接近中位值128。> 请输出这个整数k。原创 2023-08-01 00:27:29 · 1003 阅读 · 0 评论 -
【华为OD机试真题】103、最大数字 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)(未)
给定一个由纯数字组成以字符串表示的数值,现要求字符串中的每个数字最多只能出现2次,超过的需要进行删除;> 删除某个重复的数字后,它数字相对位置保持不变。> 如”34533",数字3重复超过2次,要删其中一个3,删除第一个3后获得最大数值"4533"> 请返回经过删除操作后的最大的数值,以字符串表示。原创 2023-08-01 00:27:23 · 557 阅读 · 0 评论 -
【华为OD机试真题】102、简单的解压缩算法 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
现需要实现一种算法,能将一组压缩字符串还原成原始字符串,还原规则如下:> 1、字符后面加数字N,表示重复字符N次。例如:压缩内容为A3,表示原始字符串为AAA。> 2、花括号中的字符串加数字N,表示花括号中的字符重复N次。例如压缩内容为{AB}3,表示原始字符串为ABABAB。> 3、字符加N和花括号后面加N,支持任意的嵌套,包括互相嵌套,例如:压缩内容可以{A3B1{C}3}3原创 2023-08-01 00:27:17 · 733 阅读 · 0 评论 -
【华为OD机试真题】101、二进制差异数 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
对于任意两个正整数A和B,定义它们之间的差异值和相似值:> 差异值:A、 B转换成二进制后,对于二进制的每一位,对应位置的bit值不相同则为1,否则为0; 相似值:A、B转换成二进制后,对于二进制的每一位, 对应位置的bit值都为1则为1,否则为0; 现在有n个正整数A0到A (n-1) ,问有多少(i, j) (0原创 2023-08-01 00:27:11 · 532 阅读 · 0 评论 -
【华为OD机试真题】100、最长元音子串的长度 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
定义当一个字符串只元音字母(a,e,i,o,u,A,E,I,0,U)组成,称为元音字符串,现给定一个字符串, 请找出其中最长的元音字符串,并返回其长度,如果找不到请返回0,字符串中任意一个连续字符组成的 子序列称为该字符串的子串原创 2023-08-01 00:27:03 · 503 阅读 · 0 评论 -
【华为OD机试真题】99、特异性双端队列、最小调整顺序次数 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
>有一个特异性的双端队列,该队列可以从头部或尾部添加数据,但是只能从头部移出数据。> 小A依次执行2n个指令往队列中添加数据和移出数据。其中n个指令是添加数据(可能从头部添加、也可能从尾部添加) ,依次添加1到n; n个指令是移出数据。 现在要求移除数据的顺序为1到n。 为了满足最后输出的要求,小A可以在任何时候调整队列中数据的顺序。 请问小A最少需要调整几次才能够满足移除数据的顺序正好是1到n;原创 2023-07-31 00:30:51 · 817 阅读 · 0 评论 -
【华为OD机试真题】98、超级玛丽通过吊桥的走法 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
超级玛丽好不容易来到新的一关,有一个长长的吊桥,吊桥的尽头是下水管道,其中随机的木板存在缺失,旦踩到就会死亡,死亡后如果还有剩余的生命将在原地复活且不受木板缺失影响,会消耗一次生命,如果跨过了管道,将跌入悬崖,通关失败。> 超级玛丽从起点S开始,可以走到下一个木板(计1),也可以跳着跨过一个块(计2)或两个木板(计3), 最终必须刚好走到终点D。 现在给定超级玛丽当前的生命数M,吊桥的长度N,缺失的木板数K,以及随机缺失的木板编号数组L,请帮忙计算一下, 超级玛丽有多少种方法可以原创 2023-07-31 00:30:45 · 671 阅读 · 0 评论 -
【华为OD机试真题】97、预定酒店 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
放暑假了,小明决定到某旅游景点游玩,他在网上搜索到了各种价位的酒店(长度为n的数组A), 他的心理价位是x元,请帮他筛选出k个最接近x元的酒店(n>=k>0) ,并由低到高打印酒店的价格。原创 2023-07-31 00:30:38 · 779 阅读 · 0 评论 -
【华为OD机试真题】96、士兵过河 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
一支N个士兵的军队正在趁夜色逃亡,途中遇到一条湍急的大河。敌军在T的时长后到达河面,没过到对岸的士兵都会被消灭。现在军队只找到了只小船,这船最多能同时坐上2个士兵。 1、当1个兵划船过河,时为a[i]; 0原创 2023-07-31 00:30:31 · 657 阅读 · 0 评论 -
【华为OD机试真题】95、最少面试官数 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
某公司组织一场公开招聘活动,假设由于人数和场地的限制,每人每次面试的时长不等,已经安排给定,用(S1,E1)、 (S2,E2)、(Sj,Ej)..(Si < Ei,均为非负整数)表示每场面试的开始和结束时间。> 面试采用一对一的方式,即一名面试官同时只能面试一名应试者,一名面试官完成一次面试后可以立即进行下一场面试,且每个面试官的面试人次不超过m。> 为了支撑招聘活动高效顺利进行,请你计算至少需要多少名面试官。原创 2023-07-31 00:30:22 · 695 阅读 · 0 评论 -
【华为OD机试真题】94、猜密码 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
小杨申请了一个保密柜,但是他忘记了密码。只记得密码都是数字,且所有数字都是不重复的。> 请你根据他记住的数字范围和密码的最小数字数量,帮他算下有哪些可能的组合,规则如下:1、输出的组合都是从可选的数字范围中选取的,不能重复;> 2、输出的密码数字要按照从小到大的顺序排列,密码组合需要按照字母顺序,从小到大的顺序排序。> 3、输出的每一个组合的数字的数量要大于等于密码最小数字数量;> 4、如果可能的组合为空,则返回 “None”原创 2023-07-31 00:30:15 · 1013 阅读 · 0 评论 -
【华为OD机试真题】93、求符合要求的结对方式 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
用一个数组A代表程序员的工作能力,公司想通过结对编程的方式提高员工的能力,假设结对后的能力为两个员工的能力之和,求一共有多少种结对方式使结对后能力为N。原创 2023-07-31 00:30:08 · 615 阅读 · 0 评论 -
【华为OD机试真题】92、免单统计 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
华为商城举办了一个促销活动,如果某顾客是某一秒内最早时刻下单的顾客(可能是多个人),则可以获取免单。> 请你编程计算有多少顾客可以获取免单。原创 2023-07-31 00:29:59 · 626 阅读 · 0 评论 -
【华为OD机试真题】91、找最小数 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
给一个正整数NUM1,计算出新正整数NUM2,NUM2为NUM1中移除N位数字后的结果,需要使得NUM2的值最小。原创 2023-07-31 00:29:51 · 631 阅读 · 0 评论 -
【华为OD机试真题】90、两数之和绝对值最小 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
给定一个从小到大的有序整数序列(存在正整数和负整数)数组nums,请你在该数组中找出两个数,其和的绝对值( | nums[x]+numsl[y] | ) 为最小值,并返回这个绝对值。> 每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。原创 2023-07-31 00:29:44 · 584 阅读 · 0 评论 -
【华为OD机试真题】89、找出符合要求的字符串子串 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
给定两个字符串,从字符串2中找出字符串1中的所有字符,去重并按照ASCII值从小到大排序。> 输入字符串1:长度不超过1024> 输入字符串2:长度不超过1000000> 字符范围满足ASCII编码要求,按照ASCIl的值由小到大排序原创 2023-07-30 00:22:29 · 754 阅读 · 0 评论 -
【华为OD机试真题】88、字符串加密 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
给你一串未加密的字符串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]。> 例如:原文abcde加密后bdgkr,其中偏移量分别是1,2,4,7,13原创 2023-07-30 00:22:05 · 717 阅读 · 0 评论 -
【华为OD机试真题】87、英文输入法 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
>主管期望你来实现英文输入法单词联想功能。> 需求如下:> ●依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列,如果联想不到,请输出用户输入的单词前缀。> 注意:1、英文单词联想时,区分大小写2、缩略形式如 "don't ”,判定为两个单词," don" 和 " t ”3、输出的单词序列,不能有重复单词,只能是英文单词,不能有标点符号原创 2023-07-30 00:21:56 · 734 阅读 · 0 评论 -
【华为OD机试真题】86、按索引范围翻转文章片段 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
输入一个英文文章段,翻转指定区间的单词顺序,标点符号和普通字母一样处理。> 例如输入字符串”I am a developer.",区间 [0,3],则输出"developer. a am 1”。原创 2023-07-30 00:21:45 · 612 阅读 · 0 评论 -
【华为OD机试真题】85、最长的指定瑕疵度的元音子串 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
开头和结尾都是元音字母(aeiouAEIOU) 的字符串为元音字符串,其中混杂的非元音字母数量为其瑕疵度。比如:> 1、"a”、 “aa”元音字符串,其瑕疵度都为02、“aiur"不是元音字符串(结尾不是元音字符)3、“abira”是元音字符串,其瑕疵度为2 给定一个字符串,请找出指定瑕疵度的最长元音字符子串,并输出其长度,如果找不到满足条件的元音字符子串,输出0。 子串:字符串中任意个连续的字符组成的子序列称为该字符串的子串。原创 2023-07-30 00:21:39 · 621 阅读 · 0 评论 -
【华为OD机试真题】84、数列描述 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
有一个数列a[N] (N=60),从a([0]开始,每一项都是一个数字。 数列中a[n+ 1]都是a[n]的描述。其中a[0]=1。> 规则如下:> a[0]:1 .> a[1]:11(含义:前一项a[0]=1是1个1,即" 11 "。 表示a[0]从左到右,连续出现了1次 "1" )> a[2]:21(含义:其前一项a[1]=11,从左到右:由两个1组成,即 " 21 "。 表示a[1]从左到右,连续出现了两次 "1")> a[3]:1原创 2023-07-30 00:21:25 · 586 阅读 · 0 评论 -
【华为OD机试真题】83、寻找相同子串 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
>给你两个字符串t和p,要求从t中找到一个和p相同的连续子串,并输出该子串第一个字符的下标。原创 2023-07-30 00:20:26 · 601 阅读 · 0 评论 -
【华为OD机试真题】82、最优高铁城市修建方案 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
高铁城市圈对人们的出行、经济的拉动效果明显。每年都会规划新的高铁城市圈建设。> 在给定:城市数量,可建设高铁的两城市间的修建成本列表、以及结合城市商业价值会固定建设的两城市建高铁。> 请你设计算法,达到修建城市高铁的最低成本。> 注意,需要满足城市圈内城市间两两互联可达(通过其他城市中转可达也属于满足条件)。原创 2023-07-30 00:20:16 · 630 阅读 · 0 评论 -
【华为OD机试真题】81、玩牌高手 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
>给定一个长度为n的整型数组, 表示一个选手在n轮内可选择的牌面分数。选手基于规则选牌,请计算所有轮结束后其可以获得的最高总分数。> 选择规则如下:> 1、在每轮里选手可以选择获取该轮牌面,则其总分数加上该轮牌面分数,为其新的总分数。> 2、选手也可不选择本轮牌面直接跳到下一轮,此时将当前总分数还原为3轮前的总分数,若当前轮次小于等于3 (即在第1、2、3轮选择跳过轮次),则总分数置为0。> 3、选手的初始总分数为0,且必须依次参每一轮。原创 2023-07-30 00:20:09 · 623 阅读 · 0 评论 -
【华为OD机试真题】80、银行插队 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
某银行将客户分为了若干个优先级,1 级最高,5 级最低,当你需要在银行办理业务时,优先级高的人随时可以插队到优先级低的人的前面。 现在给出一个人员到来和银行办理业务的时间序列,请你在每次银行办理业务时输出客户的编号。 如果同时有多位优先级相同且最高的客户,则按照先来后到的顺序办理原创 2023-07-30 00:19:56 · 600 阅读 · 0 评论 -
【华为OD机试真题】79、数组合并 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
现在有多组整数数组,需要将他们合并成一个新的数组。> 合并规则:从每个数组里按顺序取出固定长度的内容合并到新的数组中,取完的内容会删除掉,如果该行不足固定长度或者已经为空,则直接取出剩余部分的内容放到新的数组中,继续下一行。 如样例1,获得长度3,先遍历第一行,获得2,5,6;再遍历第二行,获得1,7,4; 再循环回到第一行,获得7,9,5;再遍历第二行,获得3,4;再回到第一行,获得7,按序拼接成最终结果。原创 2023-07-29 00:10:37 · 1004 阅读 · 0 评论 -
【华为OD机试真题】78、去除多余空格 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)(未)
去除文本多余空格,不去除配对单引号之间的多余空格。给出关键词的起始和结束下标,去除多余空格后刷新关键词的起始和结束下标。 条件约束:1、考虑关键词起始和结束位置为空格的场景;2、单词的的开始和结束下标保证涵盖一个完整的单词, 即一个坐标对开始和结束下标之间不会有多余的空格;3、如果有单引号,则用例保证单引号成对出现;4、关键词可能会重复;5、文本字符长度length取值范围: [0, 10000];原创 2023-07-29 00:10:31 · 963 阅读 · 0 评论 -
【华为OD机试真题】77、获取最大软件版本号 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
>Maven版本号定义, ,举例:3.1 4-beta> 其中,主版本和次版本都是必须的,主版本,次版本,增量版本由多位数字组成,可能包含前导零,里程碑版本由字符串组成。. . :基于数字比较; 例如:1.5> 1.4> 1.3.11> 1.3.9 里程碑版本:基于字符串比较,采用字典序;例如:1.2-beta-3> 1.2-beta-11 比较版本号时,按从左到右的原创 2023-07-29 00:10:23 · 371 阅读 · 0 评论 -
【华为OD机试真题】76、 最左侧冗余覆盖子串 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
给定两个字符串s1和s2和正整数K,其中s1长度为n1,s2长度为n2,在s2中选一个子串, 满足:> ● 该子串长度为n1+k> ● 该子串中包含s1中全部字母> ● 该子串每个字母出现次数不小于s1中对应的字母> 我们称s2以长度k冗余覆盖s1,给定s1,s2,k,求最左侧的s2以长度k冗余覆盖s1的子串的首个元素的下标,如果没有返回-1原创 2023-07-29 00:10:17 · 383 阅读 · 0 评论 -
【华为OD机试真题】75、 任务总执行时长 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
任务编排服务负责对任务进行组合调度。> 参与编排的任务有两种类型,其中一种执行时长为taskA,,另一种执行时长为taskB。> 任务一旦开始执行不能被打断,且任务可连续执行。> 服务每次可以编排num个任务。请编写一个方法,生成每次编排后的任务所有可能的总执行时长。原创 2023-07-29 00:10:10 · 472 阅读 · 0 评论 -
【华为OD机试真题】74、 分班问题 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
幼儿园两个班的小朋友在排队时混在了一起,每位小朋友都知道自己是否与前面一位小朋友同班,请你帮忙把同班的小朋友找出来。> 小朋友的编号是整数,与前一位小朋友同班用Y表示,不同班用N表示。> 学生序号范围(0,999], 如果输入不合法则打印ERROR。原创 2023-07-29 00:10:01 · 484 阅读 · 0 评论 -
【华为OD机试真题】73、 最大N个数与最小N个数的和 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
给定一个数组,编写一个函数来计算它的最大N个数 与最小N个数的和。你需要对数组进行去重。说明:1、数组中数字范围[0, 1000]2、最大N个数与最小N个数不能有重叠,如有 ** 重叠,输入非法 **返回-13、输入非法返回-1原创 2023-07-29 00:09:54 · 421 阅读 · 0 评论 -
【华为OD机试真题】72、没有回文串 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
回文串的定义:正读和反读都一样的字符串。> 现在已经存在一个不包含回文串的字符串,字符串的字符都是在英语字母的前N个,字符串不包含任何长度大于等于2的回文串;> 请找出下一个字序的不包含回文串的、字符都是在英语字母的前N个、长度相同的字符串。如果不存在,请输出NO。原创 2023-07-29 00:09:48 · 419 阅读 · 0 评论 -
【华为OD机试真题】71、最大括号深度 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
现有一字符串仅由'(',')','{','}','[',']'六种括号组成> 若字符串满足以下条件之一,则为无效字符串:> 1、任一类型的左右括号数量不相等> 2、存在未按正确顺序(先左后右)团合的括号> 输出括号的最大嵌衰深度,若字符串无效则输出0。0原创 2023-07-29 00:09:41 · 459 阅读 · 0 评论