25、25年华为od机试
文章平均质量分 65
25、24年,历年真题解析,最新横扫华为OD题库,不能保证完全AC,但能保证示例OK(毕竟只要做到150分即可)
monday_CN
从事软件行业多年,作为IT老兵,带您掌握有用的知识,利用人工智能、算法、软件提升效率和技术变现
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2025年机试OD(A卷,100分)-boss的收入(Java & Python& JS & C++ & C )
一个XX产品行销总公司,只有一个,其有若干一级分销,一级分销又有若干二级分销,每个分销只有唯一的上级分销。规定,每个月,下级分销需要将自己的总收入(自己的+下级上交的)每满100元上交15元给自己的上级。现给出一组分销的关系,和每个分销的收入,请找出boss并计算出这个boss的收入。输入:分销关系和收入:[[分销id 上级分销id 收入], [分销id 上级分销id收入], [分销id 上级分销id 收入]]输出:[boss的ID, 总收入]原创 2025-04-25 18:39:50 · 869 阅读 · 0 评论 -
2025年机试OD(A卷,100分)- 最佳植树距离(Java & JS & Python & C)
在树苗有限的情况下,要达到最佳效果,就要尽量散开种植,不同树苗之间的最小间距要尽量大。给你一个适合种情树木的点坐标和一个树苗的数量,请帮小明选择一个最佳的最小种植间距。按照环保公司要求,小明需要在沙化严重的地区进行植树防沙工作,初步目标是种植一条直线的树带。树苗数量是3,种植位置在1,7,13,树苗之间的间距都是6,均匀分开,就达到了散开种植的目的,最佳的最小种植间距是6。3棵树苗分别种植在1,7,13位置时,树苗种植的最均匀,最小间距为6。例如,适合种植树木的位置分别为1,3,5,6,7,10,13。原创 2025-04-25 18:39:12 · 354 阅读 · 0 评论 -
2025年机试OD(A卷,100分)- 最短木板长度(Java & JS & Python)
小明有 n 块木板,第 i ( 1 ≤ i ≤ n ) 块木板长度为 ai。小明买了一块长度为 m的木料,这块木料可以切割成任意块,拼接到已有的木板上,用来加长木板。小明想让最短的模板尽量长。请问小明加长木板后,最短木板的长度可以为多少?原创 2025-04-25 18:38:35 · 368 阅读 · 0 评论 -
2025年机试OD(A卷,100分)- 租车骑绿岛(Java & JS & Python)
部门组织绿岛骑行团建活动。租用公共双人自行车,每辆自行车最多坐两人,最大载重M。给出部门每个人的体重,请问最多需要租用多少双人自行车。原创 2025-04-25 18:37:53 · 339 阅读 · 0 评论 -
2025年机试OD(A卷,100分)- 用户调度问题(Java & JS & Python & C)
你现在是一场采用特殊赛制投篮大赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表请你返回记录中所有得分的总和。原创 2025-04-25 16:16:26 · 362 阅读 · 0 评论 -
2025年机试OD(A卷,100分)- 投篮大赛(Java & JS & Python)
你现在是一场采用特殊赛制投篮大赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表请你返回记录中所有得分的总和。原创 2025-04-25 16:14:07 · 365 阅读 · 0 评论 -
2025年机试OD(A卷,100分)- 数字序列比大小(Java & JS & Python & C)
A,B两个人玩一个数字比大小的游戏,在游戏前,两个人会拿到相同长度的两个数字序列,两个数字序列不相同的,且其中的数字是随机的。A,B各自从数字序列中挑选出一个数字进行大小比较,赢的人得1分,输的人扣1分,相等则各自的分数不变。用过的数字需要丢弃。求A可能赢B的最大分数。原创 2025-04-25 16:13:36 · 211 阅读 · 0 评论 -
2025年最新机试OD(A卷,100分) -查找重复代码(Java & Python & C++ & JavaScript & Go)
小明负责维护项目下的代码,需要查找出重复代码,用以支撑后续的代码优化,请你帮助小明找出重复的代码。重复代码查找方法:以字符串形式给定两行代码(字符串长度 1 < length <=100,由英文字母、数字和空格组成),找出两行代码中的最长公共子串。注:如果不存在公共子串,返回空字符串。原创 2025-04-24 13:01:44 · 335 阅读 · 0 评论 -
2025年最新机试OD(A卷,100分) - 座位调整(Java & Python & C++ & JavaScript & Go)
疫情期间课堂的座位进行了特殊的调整,不能出现两个同学紧挨着,必须隔至少一个空位。给你一个整数数组 desk 表示当前座位的占座情况,由若干 0 和 1 组成,其中 0表示没有占位,1 表示占位。在不改变原有座位秩序情况下,还能安排坐几个人?原创 2025-04-24 13:01:04 · 197 阅读 · 0 评论 -
2025年机试OD(A卷,100分) - 最长公共后缀(Java & Python & C++ & JavaScript & Go)
编写一个函数来查找字符串数组中的最长公共后缀;如果不存在公共后缀,返回固定字符串: @Zero。原创 2025-04-24 12:57:44 · 302 阅读 · 0 评论 -
2025年OD机试(A卷,100分) - 最长的顺子(Java & Python & C++ & JavaScript & Go)
斗地主起源于湖北十堰房县,据说是一位叫吴修全的年轻人根据当地流行的扑克玩法"跑得快"改编的,如今已风靡整个中国,并流行于互联网上。牌型:单顺,又称顺子,最少5张牌,最多12张牌(3…A)不能有2,也不能有大小王,不计花色。例如: 3-4-5-6-7-8,7-8-9-10-J-Q,3-4-5-6-7-8-9-10-J-Q-K-A可用的牌3<4<5<6<7<8<9<10<J<Q<K<A<2<B(小王)<C(大王),每种牌除大小王外有四种花色(共有13×4+2张牌)原创 2025-04-24 10:13:25 · 319 阅读 · 0 评论 -
2025年OD机试(A卷,100分) - 最小的调整次数特异性双端队列(Java & Python& JS & C++ & C )
有一个特异性的,该队列可以从头部或尾部添加数据,但是只能从头部移出数据。小A依次执行2n个指令往队列中添加数据和移出数据。其中n个指令是添加数据(可能从头部添加、也可能从尾部添加),依次添加1到n;n个指令是移出数据。现在要求移除数据的顺序为1到n。为了满足最后输出的要求,小A可以在任何时候调整队列中数据的顺序。请问 小A 最少需要调整几次才能够满足移除数据的顺序正好是1到n。原创 2025-04-24 10:12:52 · 334 阅读 · 0 评论 -
2025年OD机试(A卷,100分) - 最少数量线段覆盖(Java & Python & C++ & JavaScript & Go)
给定坐标轴上的一组线段,线段的起点和终点均为整数并且长度不小于1,请你从中找到最少数量的线段,这些线段可以覆盖住所有线段。原创 2025-04-24 10:12:18 · 258 阅读 · 0 评论 -
2025年OD机试(A卷,100分) - 最少交付时间(Java & Python & C++ & JavaScript & Go)
项目组共有N个开发人员,项目经理接到了M个独立的需求,每个需求的工作量不同,且每个需求只能由一个开发人员独立完成,不能多人合作。假定各个需求直接无任何先后依赖关系,请设计算法帮助项目经理进行工作安排,使整个项目能用最少的时间交付。原创 2025-04-24 10:11:45 · 206 阅读 · 0 评论 -
2025年OD机试(A卷,100分) - 最富裕的小家庭(Java & Python & C++ & JavaScript & Go)
在一颗树中,每个节点代表一个家庭成员,节点的数字表示其个人的财富值,一个节点及其直接相连的子节点被定义为一个小家庭。现给你一颗树,请计算出最富裕的小家庭的财富和。原创 2025-04-24 10:11:02 · 303 阅读 · 0 评论 -
2025年OD机试(A卷,100分) - 最大值(Java & Python& JS & C++ & C )
给定一组整数(非负),重排顺序后输出一个最大的整数。示例1输入:[10,9]输出:910说明:输出结果可能非常大,所以你需要返回一个而不是整数。原创 2025-04-24 10:09:59 · 389 阅读 · 0 评论 -
2025年OD解析(A卷,100分) - 最大股票收益(Java & Python & C++ & JavaScript & Go)
假设知道某段连续时间内股票价格,计算通过买入卖出可获得的最大收益。输入一个大小为 n 的数 price(p1,p2,p3,p4…pn),pi 是第i天的股票价格。pi 的格式为股票价格(非负整型)加上货币单位 Y 或者 S,其中 Y 代表人民币,S代表美元,这里规定 1 美元可以兑换 7 人民币。Pi 样例 1:123Y 代表 123 元人民币pi 样例 2:123S 代表 123 元美元,可兑换 861 人民币。假设你可以在任何一天买入或者卖出股票,也可以选择放弃交易,请计其在交易周期。原创 2025-04-24 10:08:35 · 197 阅读 · 0 评论 -
(A卷,100分) - 组成最大数(Java & Python & C++ & JavaScript&GO)
","号分割的多个正整数字符串,不需要考虑非数字异常情况,小组最多25个人。原创 2025-04-23 14:59:26 · 330 阅读 · 0 评论 -
(A卷,100分) - 字符统计及重排(Java & Python& JS & C++ & C )
给出一个仅包含字母的,不包含空格,统计字符串中各个字母(区分大小写)出现的次数,并按照字母出现次数从大到小的顺序。输出各个字母及其出现次数。如果次数相同,按照自然顺序进行排序,且小写字母在大写字母之前。原创 2025-04-23 14:58:47 · 334 阅读 · 0 评论 -
(A卷,100分) - 正整数到Excel编号之间的转换(Java & Python & C++ & JavaScript & Go)
用过 excel 的都知道excel的列编号是这样的:分别代表以下编号:704 705 … 请写个函数,完成从一个正整数到这种字符串之间的转换。原创 2025-04-23 14:40:33 · 308 阅读 · 0 评论 -
(A卷,100分) - 正则表达式替换(Java & Python & C++ & JavaScript & Go)
为了便于业务互交,约定一个对输入的字符串中的下划线做统一替换。具体要求如下:输入字符串,将其中包含的每一个下划线"_",使用特殊字符串(^|$|[,+])替换,并输出替换后的结果。其中的例外场景不做替换,场景如下:在一堆方括号之内的下划线不做替换 为转义的下划线,即\_则不替换 备注:调用者已确保,输入表达式的方括号会成对出现,并且方括号会在嵌套。即存在这种形式的字符串输入字符串的长度范围:[0,10000]原创 2025-04-19 13:24:49 · 320 阅读 · 0 评论 -
(A卷,100分) - 找终点(Java & Python& JS & C++ & C )
给定一个正整数数组,设为nums,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。原创 2025-04-19 13:24:18 · 362 阅读 · 0 评论 -
(A卷,100分) - 找出两个整数数组中同时出现的整数(Java & Python & C++ & JavaScript&GO)
现有两个整数数组,需要你找出两个数组中同时出现的整数,并按照如下要求输出:有同时出现的整数时,先按照同时出现次数(整数在两个数组中都出现并目出现次数较少的那个)进行归类,然后按照出现次数从小到大依次按行输出。没有同时出现的整数时,输出NULL.原创 2025-04-19 13:23:53 · 169 阅读 · 0 评论 -
(A卷,100分) - 战场索敌(Java & Python& JS & C++ & C )
有一个大小是N*M的战场地图,被墙壁 ‘#’分隔成大小不同的区域,上下左右四个方向相邻的空地 ‘.’属于同一个区域,只有空地上可能存在敌人’E",请求出地图上总共有多少区域里的敌人数小于K。原创 2025-04-19 13:22:00 · 321 阅读 · 0 评论 -
(A卷,100分) - 运维日志排序(Java & Python& JS & C++ & C )
运维工程师]采集到某产品线网运行一天产生的日志n条,现需根据日志时间先后顺序对日志进行排序,日志时间格式为H:M:S.N。时间可能并没有补全,也就是说,01:01:01.001也可能表示为1:1:1.1。原创 2025-04-19 13:21:29 · 196 阅读 · 0 评论 -
(A卷,100分) - 游戏分组王者荣耀(Java & Python& JS & C++ & C )
是一款十分火热的对战类游戏。每一场对战有10位玩家参与,分为两组,每组5人。每位玩家都有一个战斗力,代表着这位玩家的厉害程度。为了对战尽可能精彩,我们需要把玩家们分为实力尽量相等的两组。一组的实力可以表示为这一组5位玩家的战斗力和。现在,给你10位玩家的战斗力,请你把他们分为实力尽量相等的两组。请你输出这两组的实力差。2023年题:部门准备举办一场表演赛,有10名游戏爱好者参与,分5为两队,每队5人。每位参与者都有一个评分,代表着他的游戏水平。原创 2025-04-19 13:20:58 · 934 阅读 · 0 评论 -
(A卷,100分) - 优选核酸检测点(Java & Python & C++ & JavaScript & Go)
张三要去外地出差,需要做核酸,需要在指定时间点前做完核酸,请帮他找到满足条件的核酸检测点。原创 2025-04-19 13:20:24 · 486 阅读 · 0 评论 -
(A卷,100分) - 新学校选址(Java & Python & C++ & JavaScript & Go)
为了解新学期学生暴涨的问题,小乐村要建立所新学校,考虑到学生上学安全问题,需要所有学生家到学校的距离最短。假设学校和所有学生家都走在一条直线之上,请问学校建立在什么位置,能使得到学校到各个学生家的距离和最短。原创 2025-04-19 13:19:53 · 173 阅读 · 0 评论 -
(A卷,100分) - 新工号中数字的最短长度(Java & Python& JS & C++ & C )
3020年,空间通信集团的员工人数突破20亿人,即将遇到现有工号不够用的窘境。现在,请你负责调研新工号系统。继承历史传统,新的工号系统由小写英文字母(a-z)和数字(0-9)两部分构成。新工号由一段英文字母开头,之后跟随一段数字,比如"aaahw0001″,"a12345″,"abcd1″,"a00″。注意新工号不能全为字母或者数字,允许数字部分有前导0或者全为0。但是过长的工号会增加同事们的记忆成本,现在给出新工号至少需要分配的人数X和新工号中字母的长度Y,求新工号中数字的最短长度Z。原创 2025-04-19 13:19:11 · 785 阅读 · 0 评论 -
(A卷,100分) - 光伏场地建设规划(Java & Python& JS & C++ & C )
祖国西北部有一片大片荒地,其中零星的分布着一些湖泊,保护区,矿区;整体上常年光照良好,但是也有一些地区光照不太好。某电力公司希望在这里建设多个光伏电站,生产清洁能源对每平方公里的土地进行了发电评估,其中不能建设的区域发电量为0kw,可以发电的区域根据光照,地形等给出了每平方公里年发电量x千瓦。我们希望能够找到其中集中的矩形区域建设电站,能够获得良好的收益。原创 2025-04-19 13:18:39 · 390 阅读 · 0 评论 -
(A卷,100分) - 小朋友来自多少个小区(Java & Python & C++ & JavaScript & Go)
幼儿园组织活动,老师布置了一个任务:每个小朋友去了解与自己同一个小区的小朋友还有几个。我们将这些数量汇总到数组 garden 中。请根据这些小朋友给出的信息,计算班级小朋友至少来自几个小区?原创 2025-04-18 09:44:01 · 315 阅读 · 0 评论 -
(A卷,100分) - 文件目录大小(Java & Python & C++ & JavaScript & Go)
一个文件目录的数据格式为:目录id,本目录中文件大小,(子目录id列表)。其中目录id全局唯一,取值范围[1, 200],本目录中文件大小范围[1,1000],子目录id列表个数[0,10]例如 : 1 20 (2,3)表示目录1中文件总大小是20,有两个子目录,id分别是2和3现在输入一个文件系统中所有目录信息,以及待查询的目录 id,返回这个目录和及该目录所有子目录的大小之和。原创 2025-04-18 09:43:29 · 264 阅读 · 0 评论 -
(A卷,100分) - 微服务的集成测试(Java & Python & C++ & JavaScript & Go)
现在有n个容器服务,服务的启动可能有一定的依赖性(有些服务启动没有依赖),其次服务自身启动加载会消耗一些时间。给你一个 n x n 的二维矩阵useTime,其中其实 0<= i,j,k < n。服务之间启动没有循环依赖(不会出现环),若想对任意一个服务i进行集成测试(服务i自身也需要加载),求最少需要等待多少时间。原创 2025-04-18 09:42:58 · 277 阅读 · 0 评论 -
(A卷,100分) - 统计匹配的二元组个数(Java & Python & C++ & JavaScript&GO)
给定两个数组A和B,若数组A的某个元素A[i]与数组B中某个元素B[j]满足A[i] == B[j],则寻找到一个值匹配的二元组(i,j)。请统计在这两个数组A和B中,一共存在多少个这样的二元组。原创 2025-04-18 09:42:27 · 340 阅读 · 0 评论 -
(A卷,100分) - 跳格子游戏(Java & Python & C++ & JavaScript&GO)
地上共有N个格子,你需要跳完地上所有的格子,但是格子间是有强依赖关系的,跳完前一个格子后,后续的格子才会被开启,格子间的依赖关系由多组steps数组给出,steps[0]表示前一个格子,steps[1]表示steps[0]可以开启的格子:比如[0,1]表示从跳完第0个格子以后第1个格子就开启了,比如[2,1],[2,3]表示跳完第2个格子后第1个格子和第3个格子就被开启了。请你计算是否能由给出的steps数组跳完所有的格子,如果可以输出yes,否则输出no。原创 2025-04-18 09:29:54 · 409 阅读 · 0 评论 -
(A卷,100分) - 素数之积RSA加密算法(Java & Python& JS & C++ & C )
在网络安全世界中无处不在,它利用了极大整数因数分解的困难度,数据越大,安全系数越高,给定一个32位正整数,请对其进行因数分解,找出是哪两个素数的乘积。原创 2025-04-18 09:29:23 · 138 阅读 · 0 评论 -
(A卷,100分) - 水果摊小买卖(Java & Python & C++ & JavaScript & Go)
小王手里有点闲钱,想着做点卖水果的小买卖。给出两个数组m, n,用 m[i]代表第 i 个水果的成本价,n[i] 代表第 i个水果能卖出的价钱,假如现在有本钱 k,试问最后最多能赚多少钱?原创 2025-04-18 09:28:53 · 348 阅读 · 0 评论 -
(A卷,100分) - 数组去重和排序(Java & Python & C++ & JavaScript & Go)
给定一个乱序的数组,删除所有的重复元素,使得每个元素只出现一次,并且按照出现的次数从高到低进行排序,相同出现次数按照第一次出现顺序进行先后排序。原创 2025-04-18 09:28:21 · 265 阅读 · 0 评论 -
(A卷,100分) - 数组二叉树(Java & Python & C++ & JavaScript&GO)
二叉树也可以用数组来存储,给定一个数组,树的根节点的值存储在下标1,对于存储在下标N的节点,它的左子节点和右子节点分别存储在下标2N和2N+1,并且我们用值-1代表一个节点为空。给定一个数组存储的二叉树,试求,路径由节点的值组成。原创 2025-04-18 09:26:31 · 332 阅读 · 0 评论 -
(A卷,100分) - 数字加减游戏(Java & Python & C++ & JavaScript&GO)
小明在玩一个数字加减游戏,只使用加法或者减法,将一个数字s变成数字t。每个回合,小明可以用当前的数字加上或减去一个数字。现在有两种数字可以用来加减,分别为a,b(a!=b),其中b没有使用次数限制。请问小明最少可以用多少次a,才能将数字s变成数字t。题目保证数字s一定能变成数字t。原创 2025-04-17 10:30:43 · 418 阅读 · 0 评论
分享