- 博客(196)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 历年华为校招&实习&社招机试真题目录
历年华为校招&实习&社招机试真题目录题号题目名称日期难度分值考点111120240410mid200分DFS211120240410mid200分DFS311120240410mid200分DFS411120240410mid200分DFS511120240410mid200分DFS611120240410mid200分DFS711120240410mid20
2024-04-24 00:30:37
483
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 华为OD题库最新E卷题库大全【A卷+B卷+C卷+D卷+E卷】真题目录2024年8月更新校准【当前使用2024年E卷题库】
100 | 找朋友|2024C卷/D卷|easy|100分|模拟|100%101 | 找朋友|2024C卷/D卷|easy|100分|模拟|100%102 | 找朋友|2024C卷/D卷|easy|100分|模拟|100%103 | 找朋友|2024C卷/D卷|easy|100分|模拟|100%104 | 找朋友|2024C卷/D卷|easy|100分|模拟|100%105 | 找朋友|2024C卷/D卷|easy|100分|模拟|100%
2024-04-21 16:11:39
1871
1
原创 华为OD面试手撕真题-岛屿数量[超高频](C++ | Java | Python3 | Js | Go)实现
思路:将二维网格看成一个无向图,竖直或水平相邻的 1 之间有边相连。为了求出岛屿的数量,我们可以扫描整个二维网格。如果一个位置为 1,则以其为起始节点开始进行深度优先搜索。在深度优先搜索的过程中,每个搜索到的 1 都会被重新标记为 0。最终岛屿的数量就是进行深度优先搜索的次数。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。(水)组成的的二维网格,请你计算网格中岛屿的数量。此外,你可以假设该网格的四条边均被水包围。
2024-08-25 00:21:49
3
原创 华为校招实习机试&华为社招机试20240821-3.循环依赖[300分]( Java | Python3 | C++ | JsNode | Go)实现100%通过率
给定一组元素,及其依赖关系,一个元素可以依赖于多个元素(不包括自己,被依赖元素不会重复),一个元素也可被多个元素依赖。假定总是存在唯一的循环依赖,请输出该循环依赖。时间限制:C/C++1000ms,其他语言:2000ms内存限制: C/C++256MB,其他语言:512MB第一行是个正整数N(1
2024-08-24 12:06:23
7
原创 华为校招实习机试&华为社招机试20240821-2.统计直接双向依赖[200分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
工具部计划开发一个代码质量检测工具,其中有一个待实现的功能是统计代码模块的直接双向依赖。直接双向依赖是指模块之间直接互相依赖的,不统计间接依赖、传递依赖导致的双向依赖。时间限制:C/C++1000ms,其他语言:2000ms内存限制:C/C++256MB,其他语言:512MB(1)第1行只有一个数字,表示模块总数N,随后会按1到N顺序输入N行,表示1到N个模块的依赖数据。(2)从第2行开始,每行的第1个数据表示依赖的模块数量(不会超过N),之后的数字表示当前模块依赖的模块ID序列。
2024-08-24 12:05:53
4
原创 华为校招实习机试&华为社招机试20240821-1.获取网络忙时数据[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
工程师小王想要从海量的网络数据中,筛选出忙时数据。由于是海量数据,小王没办法对海量数据进行排序,再取topN的忙时数据(将数据从大到小排序,取前 N个)。聪明的小王想到了使用固定大小的优先级队列来进行数据筛选。为了场景简化,我们用正整数集来表示海量的网络数据,同时只取N个忙时数据,也即只取 N个最大的正整数。针对每一批数据输入,单独输出一行结果,直接将N个正整数拼接完完整的一行字符串输出即可。时间限制:C/C++500ms,其他语言:1000ms内存限制:C/C++100MB,其他语言:200MB。
2024-08-24 12:05:10
5
原创 华为OD-2024年E卷-智能驾驶[200分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
1:表示加油站,可以加满油,汽车的油箱容量最大为100;0:表示这个地区是障碍物,汽车不能通过;有一辆汽车需要从m*n的地图的左上角(起点)开往地图的右下角(终点),去往每一个地区都需要消耗一定的油量,加油站可进行加油。如果汽车无论如何都无法到达终点,则返回-1。如果汽车可以到达终点,则返回最少的初始油量。后面是一个M*N的矩阵,其中的值是0或-1或正整数,加油站的总数不超过200个。(3)如果汽车无论如何都无法到达终点,则返回-1。第一行为两个数字,M、N,表示地图的大小为M*N。
2024-08-23 09:56:02
181
原创 华为OD-2024年E卷-字符串化繁为简[200分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
给定一个输入字符串,字符串只可能由英文字母('a'~'z'、'A'~'Z') 和左右小括号('('、')')组成。当字符串里存在小括号时,小括号是成对的,可以有一个或多个小括号对,小括号对不会嵌套,小括号对内可以包含1个或多个英文字母,也可以不包含英文字母。
2024-08-23 01:38:35
88
原创 华为OD-2024年E卷-最左侧冗余覆盖子串[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
子串aab和abc满足要求,由于aab在abc的左侧,因此输出aab的下下标:0。的子串首个元素下标,如果没有返回。s2无法覆盖s1,输出-1。的子串的首个元素的下标,
2024-08-23 01:17:57
27
原创 华为OD-2024年E卷-学生方阵[200分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
学校组织活动,将学生排成一个矩形方阵。请在矩形方阵中找到最大的位置相连的男生数量。这个相连位置在一个直线上,方向可以是水平的、垂直的、呈对角线的或者反对角线的。注:学生个数不会超过10000.输入的第一行为矩阵的行数和列数,接下来的n行为矩阵元素,元素间用“,”分隔。输出一个整数,表示矩阵中最长的位置相连的男生个数。输入3.4F,M,M,FF,M,M,FF,F,F,M输出3。
2024-08-23 01:04:22
150
原创 华为OD-2024年E卷-日志采集系统[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
按时序产生的日志条数 T1,T2...Tn, 其中 1≤n≤1000,0≤Ti≤100。日志采集是运维系统的的核心组件。日志是按行生成,每行记做一条,由采集系统分批上报。如果一次上报的条数太多,会导致超时失败。如果上报太频繁,会对服务端造成压力;如果上报太晚,会降低用户的体验;首次上报最多能获得的积分数。上报,可获得最大积分。
2024-08-23 00:49:36
22
原创 华为OD-2024年E卷-猜数字[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
一个人设定一组四码的数字作为谜底,另一方猜。每猜一个数,出数者就要根据这个数字给出提示,提示以XAYB形式呈现,直到猜中位置。其中X表示位置正确的数的个数(数字正确且位置正确),而Y表示数字正确而位置不对的数的个数。例如,当谜底为8123,而猜谜者猜1052时,出题者必须提示0A2B。例如,当谜底为5637,而猜谜者才4931时,出题者必须提示1A0B。当前已知N组猜谜者猜的数字与提示,如果答案确定,请输出答案,不确定则输出NA。第一行输入一个正整数,0
2024-08-23 00:36:40
25
原创 华为OD-2024年E卷-堆栈中的剩余数字[200分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
向一个空栈中依次存入正整数,假设入栈元素n(1
2024-08-23 00:16:17
25
原创 华为OD-2024年E卷-计算疫情扩散时间[200分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
在一个地图中(地图由n*n个区域组成),有部分区域被感染病菌。感染区域每天都会把周围(上下左右)的4个区域感染。请根据给定的地图计算,多少天以后,全部区域都会被感染。如果初始地图上所有区域全部都被感染,或者没有被感染区域,返回-1一行N*N个数字(只包含0,1,不会有其他数字)表示一个地图,数字间用,分割,0表示未感染区域,1表示已经感染区域 每N个数字表示地图中一行,输入数据共表示N行N列的区域地图。例如输入1,0,1,0,0,0,1,0,1,表示地图1,0,10,0,0。
2024-08-23 00:07:36
26
原创 华为OD-2024年E卷-最大报酬[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
小明每周上班都会拿到自己的工作清单,工作清单内包含n项工作,每项工作都有对应的耗时时间(单位h)和报酬,工作的总报酬为所有已完成工作的报酬之和,那么请你帮小明安排一下工作,保证小明在指定的工作时间内工作收入最大化。输入的第一行为两个正整数T,n。T代表工作时长(单位h,0
2024-08-22 23:59:50
28
原创 华为OD-2024年E卷-boss的收入[200分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
一个XX产品行销总公司,只有一个 boss,其有若干一级分销,一级分销又有若干二级分销,每个分销只有唯一的上级分销。规定每个月,下级分销需要将自己的总收入(自己的+下级上交的)每满100元上交15元给自己的上级.现给出一组分销的关系,和每个分销的收入,请找出 boss并计算出这 boss 的收入。比如:收入100元上交15元,收入199元(9元不够100)上交15元,收入200元,上交30元。分销关系和收入:分销id 上级分销的ld 收入分销ID范围0…65535。
2024-08-22 20:24:23
49
原创 华为OD-2024年E卷-数大雁[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现84%通过率
一群大雁往南飞,给定一个字符串记录地面上的游客听到的大雁叫声,请给出叫声最少由几只大雁发出。具体的:1.大雁发出的完整叫声为"quack",因为有多只大雁同一时间嘎嘎作响,所以字符串中可能会混合多个"quack"。2.大雁会依次完整发出”quack”,即字符串中’q’,‘u’,‘a’,‘℃’,‘k' 这5个字母按顺序完整存在才能计数为一只大雁。如果不完整或者没有按顺序则不予计数。3.如果字符串不是由'q','u','a','c','k'字符组合而成,或者没有找到一只大雁,请返回-1。
2024-08-22 20:07:36
31
原创 华为OD-2024年E卷-查找充电设备组合[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
当充电设备输出功率为50,20,20组合时,其充电功率总和为90,最接近充电站最大充电输出功率,设备组合的输出功率总和,均构成功率集合P的1个元素。功率集合P的最优元秦,表。某个充电站,可提供n个充电设备,每个充电设备均有对应的輸出功率。所有率电设备的输出功率组合,均大于充电站最大充电功率30,此时最优元素为0。2.最优元素必须小于或等于充电站最大输出功率p_maxₒ。示最接近充电站最大输出功率p_max的元素。第3行为充电站最大输出功率p_maxₒ。第2行为每个充电设备的输出功率。功率隼合P的最优元表。
2024-08-22 18:12:45
24
原创 华为OD-2024年E卷-贪心的商人[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
4 5 6 第三行输入仓库限制每件商品的最大持有数量是。由于仓库限制每件商品的最大持有数量是。注:同一件商品可以反复买进和卖出。1 2 3 第一件商品每天的价格。4 3 2 第二件商品每天的价格。1 5 3 第三件商品每天的价格。通过对商品的买进和卖出获取利润。输出商人在这段时间内的最大利润。3 第二行输入商品售货天数。3 第一行输入商品的数量。天内能获取的最大的利润。商人经营一家店铺,有。
2024-08-22 17:54:33
25
原创 华为OD-2024年E卷-找终点[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
给定一个正整数数组,设为nums,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。要求:1、第一步必须从第一元素开始,且1
2024-08-22 17:20:37
40
原创 华为OD-2024年E卷-二叉树计算[200分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
给出一个二叉树如下图所示:请由该二叉树生成一个新的二叉树,它满足其树中的每个节点将包含原始树中的左子树和右子树的和。左子树表示该节点左侧叶子节点为根节点的一颗新树;右子树表示该节点右侧叶子节点为根节点的一颗新树。2行整数,第1行表示二叉树的中序遍历,第2行表示二叉树的前序遍历,以空格分割例如:7 -2 6 6 96 7 -2 9 61行整数,表示求和树的中序遍历,以空格分割例如:输入7 -2 6 6 96 7 -2 9 6输出说明 无输入。
2024-08-22 15:01:23
81
原创 华为OD-2024年E卷-字符串分割[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
给定一个非空字符串S,其被N个'-分隔成 N+1的子串,给定正整数K,要求除第一个子串外,其余的子串每K个字符组成新的子串,并用-分隔。对于新组成的每一个子串,如果它含有的小写字母比大写字母多,则将这个子串的所有大写字母转换为小写字母;反之,如果它含有的大写字母比小写字母多,则将这个子串的所有小写字母转换为大写字母;大小写字母的数量相等时,不做转换。输入为两行,第一行为参数K,第二行为字符串 S。输出转换后的字符串。输入3输出。
2024-08-22 14:39:51
33
原创 华为OD-2024年E卷-增强的strstr[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
C语言有一个库函数:char*strstr(const char *haystack, const char *needle),实现在字符haystack 中查找第一次出现字符串needle的位置,如果未找到则返回null。现要求实现一个strstr的增强函数,可以使用带可选段的字符串来模糊查询,与strstr一样返回首次查找到的字符串位置。可选段使用“[]”标识,表示该位置是可选段中任意一个字符即可满足匹配条件。比如“a[bc]”表示可以匹配“ab"或“ac”。注意目标字符串中可选段可能出现多次。
2024-08-22 14:21:22
47
原创 华为OD-2024年E卷-最长连续交替方波信号[200分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
输入一串方波信号,求取最长的完全连续交替方波信号,并将其输出,如果有相同长度的交替方波信号,输出任一即可,方波信号高位用。输入信号字符串(长度 大于等于3 且 小于等于 1024。若不存在完全连续交替方波信号串 输出。注:输入总是合法的,不考虑异常情况。输出最长的完全连续交替方波信号串。
2024-08-22 11:08:39
32
原创 华为OD-2024年E卷-分糖果[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现85%通过率
小明从糖果盒中随意抓一把糖果,每次小明会取出一半的糖果分给同学们。当糖果不能平均分配时,小明可以选择从糖果盒中(假设盒中糖果足够)取出一个糖果或放回一个糖果。小明最少需要多少次(取出、放回和平均分配均记一次),能将手中糖果分至只剩一颗。抓取的糖果数(
2024-08-22 11:01:46
37
原创 华为OD-2024年E卷-通过软盘拷贝文件[200分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
有一名科学家想要从一台古董电脑中拷贝文件到自己的电脑中加以研究。但此电脑除了有一个3.5寸软盘驱动器以外,没有任何手段可以将文件持贝出来,而且只有一张软盘可以使用。因此这一张软盘是唯一可以用来拷贝文件的载体。科学家想要尽可能多地将计算机中的信息拷贝到软盘中,做到软盘中文件内容总大小最大。已知该软盘容量为1474560字节。文件占用的软盘空间都是按块分配的,每个块大小为512个字节。一个块只能被一个文件使用。拷贝到软盘中的文件必须是完整的,且不能采取任何压缩技术。
2024-08-21 02:01:53
197
原创 华为OD-2024年E卷-羊、狼、农夫过河[200分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
羊、狼、农夫都在岸边,当羊的数量小于狼的数量时,狼会攻击羊,农夫则会损失羊。农夫有一艘容量固定的船,能够承载固定数量的动物。输出不损失羊情况下将全部羊和狼运到对岸需要的最小次数(若无法满足条件则输出 0 )。第一行输入为 M,N,X, 分别代表羊的数量,狼的数量,小船的容量。备注:农夫在或农夫离开后羊的数量大于狼的数量时狼不会攻击羊。要求求出不损失羊情况下将全部羊和狼运到对岸需要的最小次数。只计算农夫去对岸的次数,回程时农夫不会运送羊和狼。如果找不到不损失羊的运送方案,输出0。第三次运2只羊和1只狼。
2024-08-21 01:37:08
302
原创 华为OD-2024年E卷-字母组合[200分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
每个数字对应多个字母,对应关系如下:0:a,b,c1:d,e,f2:g,h,i3:j,k,l4:m,n,o5:p,q,r6:s,t7:u,v8:w,x9:y, z输入一串数字后,通过数字和字母的对应关系可以得到多个字母字符串(要求按照数字的顺序组合字母字符串);屏蔽字符: 屏蔽字符中的所有字母不能同时在输出的字符串出现,如屏蔽字符时abc,则要求字符串中不能同时出现a,b,c,但是允许同时出现a,b;a,c;b,c等;
2024-08-21 00:57:22
272
原创 华为OD-2024年E卷-高矮个子排队[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
现在有一队小朋友,他们高矮不同,我们以正整数数组表示这一队小朋友的身高,如数组{5,3,1,2,3}。我们现在希望小朋友排队,以“高”“矮”“高”“矮”顺序排列,每一个“高”位置的小朋友要比相邻的位置高或者相等;每一个“矮”位置的小朋友要比相邻的位置矮或者相等;要求小朋友们移动的距离和最小,第一个从“高”位开始排,输出最小移动距离即可。例如,在示范小队{5,3,1,2,3}中,{5, 1, 3, 2, 3}是排序结果。
2024-08-20 17:38:00
56
原创 华为OD-2024年E卷-矩形相交的面积[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
3行输入分别为3个矩形的位置,分别代表“左上角x坐标”,“左上角y坐标”,“矩形宽”,“矩形高” -1000
2024-08-20 16:03:35
49
原创 华为OD-2024年E卷-构成的正方形数量[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
输入N个互不相同的二维整数坐标,求这N个坐标可以构成的正方形数量。[内积为零的的两个向量垂直]第一行输入为N,N代表坐标数量,N为正整数。N
2024-08-20 13:19:12
50
原创 华为OD-2024年E卷-斗地主之顺子[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现85%通过率
例如:{3,4,5,6,7}、{3,4,5,6,7,8,9,10,J,Q,K,A}都是有效的顺子;而{J,Q,K,A,2}、{2,3,4,5,6}、{3,4,5,6}、{3,4,5,6,8}等都不是顺子。13张任意顺序的扑克牌,每张扑克牌数字用空格隔开,每张扑克牌的数字都是合法的,并且不包括大小王:2 9 J 2 3 4 K A 7 9 A 5 6。3,4,5,6,7,8,9,10,J,Q,K,A,2,玩家可以出的扑克牌阵型有:单张、对子、顺子、飞机、炸弹等。不需要考虑输入为异常字符的情况。
2024-08-20 11:58:42
55
原创 华为OD-2024年E卷-最长连续子序列[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
有N个正整数组成的一个序列。给定整数sum,求长度最长的连续子序列,使他们的和等于sum,返回此子序列的长度,如果没有满足要求的序列,返回-1。序列:1,2,3,4,2 sum: 6序列长度:3输入序列仅由数字和英文逗号构成,数字之间采用英文逗号分隔;序列长度:1
2024-08-20 01:26:19
63
原创 华为OD-2024年E卷-第k个排列[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
给定参数n,从1到n会有n个整数:1,2,3,…,n,这n个数字共有n!种排列。按大小顺序升序列出所有排列的情况,并一一标记,当n=3时,所有排列如下:“123”“132”“213”“231”“312”“321”给定n和k,返回第k个排列。输入两行,第一行为n,第二行为k,给定n的范围是[1,9],给定k的范围是[1,n!输出排在第k位置的数字。用例输入33输出213说明3的排列有123,132,213…,那么第三位置就是213输入22输出21。
2024-08-19 20:44:38
80
原创 华为OD-2024年E卷-猜字谜[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
小王设计了一个简单的猜字谜游戏,游戏的谜面是一个错误的单词,比如nesw,玩家需要猜出谜底库中正确的单词。猜中的要求如下:对于某个谜面和谜底单词,满足下面任一条件都表示猜中:(1) 变换顺序以后一样的,比如通过变换w和e的顺序,nwes跟news是可以完全对应的;(2)字母去重以后是一样的,比如woood和wood是一样的,它们去重后都是wod请你写一个程序帮忙在谜底库中找到正确的谜底。谜面是多个单词,都需要找到对应的谜底,如果找不到的话,返回“not found”谜面单词列表,以","分隔。
2024-08-19 20:36:35
59
原创 华为OD-2024年E卷-树状结构查询[200分]( Java | Python3 | C++ | JsNode | Go | C语言)实现100%通过率
第一行输入行数,下面是多行数据,每行以空格区分节点和父节点。树中的节点是唯一的,不会出现两个节点,是同一个名字。输入一个节点之后,请打印出来树中他的所有下层节点。通常使用多行的节点、父节点表示一棵树,比如。输出查询节点的所有下层节点。
2024-08-19 17:25:47
278
原创 华为OD面试手撕真题-最长回文子串[超高频](C++ | Java | Python3 | C语言 | Js)实现
"aba" 同样是符合题意的答案。
2024-08-17 12:20:56
35
原创 华为OD面试手撕真题-最长公共前缀[超高频](C++ | Java | Python3 | Go)实现
纵向扫描时,从前往后遍历所有字符串的每一列,比较相同列上的字符是否相同,如果相同则继续对下一列进行比较,如果不相同则当前列不再属于公共前缀,当前列之前的部分为最长公共前缀。编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串。输入不存在公共前缀。
2024-08-17 11:48:59
25
原创 华为OD面试手撕真题-无重复字符的最长子串[超高频](C++ | Java | Python3 | Js | Go)实现
因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是。因为无重复字符的最长子串是 "abc",所以其长度为 3。因为无重复字符的最长子串是 "b",所以其长度为 1。,请你找出其中不含有重复字符最长子串的长度。的长度,"pwke"是一个。
2024-08-17 11:25:28
35
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人