![](https://img-blog.csdnimg.cn/direct/2afc915513194823bc7645d1e35b8fd0.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
华为OD题库
文章平均质量分 52
华为OD题库及其解答。陆陆续续更新C卷题库及其解答,目前正在更新题目和python答案,后续会陆续更新其他语言的解答。
优惠券已抵扣
余额抵扣
还需支付
¥59.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
梅花C
算法那件事儿
展开
-
华为OD-2024年C卷D卷-孙悟空吃蟠桃[200分]( Python3 )实现100%通过率
孙悟空可以决定他吃蟠桃的速度K(个/小时),每个小时选一颗桃树,并从树上吃掉 K 个,如果树上的桃子少于 K 个,则全部吃掉,并且这一小时剩余的时间里不再吃桃。已知蟠桃园有 N 棵桃树,每颗树上都有桃子,守卫将在 H 小时后回来。其中数字通过空格分割,N、H为正整数,每颗树上都有蟠桃,且 0 < N < 10000,0 < H < 10000。请返回孙悟空可以在 H 小时内吃掉所有桃子的最小速度 K(K为整数)。第一行输入为 N 个数字,N 表示桃树的数量,这 N 个数字表示每颗桃树上蟠桃的数量。原创 2024-06-05 22:15:27 · 24 阅读 · 0 评论 -
华为OD-2024年C卷D卷-围棋的气[100分]
围棋棋盘由纵横各19条线垂直相交组成,棋盘上一共19 x 19 = 361 个交点,对弈双方一方执白棋,一方执黑棋,落子时只能将棋子置于交点上。现在,请根据输入的黑棋和白棋得到坐标位置,计算黑棋和白棋一共各有多少气?两个数字以空格分隔,第一个数代表黑棋的气数,第二个数代表白棋的气数。数数黑棋一共8口气,数数白棋一共7口气。如果将输入数据放到棋盘上。原创 2024-05-27 17:00:56 · 65 阅读 · 0 评论 -
华为OD-2024年C卷D卷-欢乐的周末[200分](Python3 & Java)实现100%通过率
第二行开始为具体的地图,其中:3代表小华和小明选择的聚餐地点;第二行开始为具体的地图,其中:3代表小华和小明选择的聚餐地点;通过手机交流,他们在地图上选择了多个聚餐地点(由于自然地形等原因,部分聚餐地点不可达),求小华和小为都能到达的聚餐地点有多少个?由于图中小华和小为之间有个阻隔,此时,没有两人都能到达的聚餐地址,故而返回0。2 为小华或者小为,地图中必定有且仅有2个 (非障碍物)第一行输入m和n,m代表地图的长度,n代表地图的宽度。第一行输入地图的长宽为3和4。第一行输入地图的长宽为4和4。原创 2024-05-19 15:00:55 · 161 阅读 · 0 评论 -
华为OD-C卷D卷-会议室占用时间[200分]C语言实现100%
[会议1开始时间, 会议1结束时间], [会议2开始时间, 会议2结束时间]]之后输入n行,每行两个整数,以空格分隔,分别表示会议开始时间,会议结束时间。输出多行,每个两个整数,以空格分隔,分别表示会议室占用时间段开始和结束。输入:[[1,4],[2,5],[7,9],[14,18]]说明:时间段[1,4]和[2,5]重叠,合并为[1,5]输出:[[1,5],[7,9],[14,18]]说明:时间段[1,4]和[4,5]连续。输入:[[1,4],[4,5]]请计算会议室占用时间段。输出:[[1,5]]原创 2024-05-18 18:38:31 · 41 阅读 · 0 评论 -
华为OD-2024年C卷D卷-查找一个有向网络的头节点和尾节点[200分]Java实现100%通过率
给定一个有向图,图中可能包含有环,图使用二维矩阵表示,每一行的第一列表示起始节点,第二列表示终止节点,如 [0, 1] 表示从 0 到 1 的路径。求这个数据的首节点与尾节点,题目给的用例会是一个首节点,但可能存在多个尾节点。同时图中可能含有环。如果图中含有环,返回 [-1]。输出一行头节点和尾节点。如果有多个尾节点,按从大到小的顺序输出。第二行为2N个数字。第一行为后续输入的键值对数量N(N ≥ 0)说明:入度为0是首节点,出度为0是尾节点。每个节点用正整数表示。原创 2024-05-18 18:32:56 · 39 阅读 · 0 评论 -
华为OD-2024年C卷D卷-员工派遣[200分]Python3实现100%通过率
找到最小的 k,使得可以将编号在 [1, k] 中的员工分配给 x 国和 y 国,且满足 x 国和 y 国的需求。现在,代号为 x 的国家和代号为 y 的国家分别需要 cntx 名和 cnty 名员工。部门每个员工有一个员工号(1,2,3,......),工号连续,从1开始。四个整数 x,y,cntx,cnty。某公司部门需要派遣员工去国外做项目。3 表示国家2需要3个人。1 表示国家3需要1个人。原创 2024-05-18 18:20:44 · 378 阅读 · 0 评论 -
华为OD-2024年C卷D卷-数据单元的变化替换[200分]Java实现90%通过率
comma separated values(CSV) 逗号分隔值,csv 格式的数据文件使用逗号 "," 作为分隔符将各单元的内容进行分隔。将一个 csv 格式的数据文件中包含有单元格引用的内容替换为对应单元格内容的实际值。第一个单元中有对B单元的引用,B单元格的值为1,耆换时,将第二个数据第单元的内容替代。第二个单元中有对A单元的引用,A单元格的值为1,替换时,将A单元的内容替代。引用单元格的位置不受限制,允许排在后面的单元格被排在前面的单元格引用。的位置,并和其他内容合并。表示引用第一个单元的值。原创 2024-05-18 18:10:52 · 187 阅读 · 0 评论 -
华为OD-2024年C卷D卷-贪吃的猴子[200分]Python3实现100%通过率
第一次获取香蕉,无论是从行的开头或者末尾获取,得到的香蕉根数目为1, 但是,从行末尾获取能获取到最优的策略,后面可以直接得到香蕉根数目6和3。一只贪吃的猴子,来到一个果园,发现许多串香蕉排成一行,每串香蕉上有若干根香蕉。每串香蕉的根数由数组numbers给出。猴子获取香蕉,每次都只能从行的开头或者末尾获取,并且只能获取N次,求猴子最多能获取多少根香蕉。第一次获取香蕉为行的开头,第二次获取为行的末尾,因此最终根数为4+3=7。全部获取所有的香蕉,因此最终根数为1+2+3=6。第三行输入为N,表示获取的次数。转载 2024-05-18 18:08:37 · 38 阅读 · 0 评论 -
华为OD-2024年C卷D卷-启动多任务排序[200分]Python3实现100%通过率
现在给出多条任务依赖关系的规则,请输入任务的顺序执行序列,规则采用贪婪策略,即一个任务如果没有依赖的任务,则立刻开始执行,如果同时有多个任务要执行,则根据任务名称字母顺序排序。一个应用启动时,会有多个初始化任务需要执行,并且任务之间有依赖关系,例如A任务依赖B任务,那么必须在B任务执行完成之后,才能开始执行A任务。例如:B任务依赖A任务,C任务依赖A任务,D任务依赖B任务和C任务,同时,D任务还依赖E任务。输出排序后的启动任务列表,多个任务之间用单个空格分隔。A任务,E任务,B任务,C任务,D任务。原创 2024-05-08 17:35:17 · 46 阅读 · 0 评论 -
华为OD-2024年C卷D卷-模拟目录管理功能[200分]Python3实现【全网唯一】100%通过率
在根目录创建一个abc的目录并进入abc目录中查看当前目录路径,输出当前路径/abc/实现一个模拟目录管理功能的软件,输入一个命令序列,输出最后一条命令运行结果。命令行数限制100行以内,目录名称限制10个字符以内。输入 N 行字符串,每一行字符串是一条命令。输出最后一条命令运行结果字符串。原创 2024-05-08 17:32:01 · 60 阅读 · 0 评论 -
华为OD-C卷D卷-可以组成网络的服务器[200分]C++实现100%通过率
在一个机房中,服务器的位置标识在 n*m 的整数矩阵网格中,1 表示单元格上有服务器,0 表示没有。如果两台服务器位于同一行或者同一列中紧邻的位置,则认为它们之间可以组成一个局域网。[0][0]、[1][0]、[1][1]三台服务器相互连接,可以组成局域网。第一行输入两个正整数,n和m,0原创 2024-05-08 17:25:01 · 24 阅读 · 0 评论 -
华为OD-2024年C卷D卷-求最多可以派出多少支团队[100分]( Java )实现100%通过率
用数组代表每个人的能力,一个比赛活动要求参赛团队的最低能力值为N,每个团队可以由1人或者2人组成,且1个人只能参加1个团队,计算出最多可以派出多少只符合要求的团队。3、5组成一队,1、7一队,9自己一队,2、6一队,输出4。说明 3、5组成一队 1、7一队 9自己一队 输出3。最多可以派出的团队数量。原创 2024-05-08 17:19:53 · 25 阅读 · 1 评论 -
华为OD-C卷/D卷-幸存数之和[100分]
运算过程为:从索引0的位置开始向后跳,中间跳过 J 个数字,命中索引为 J+1 的数字,该数被敲出,并从该点起跳,以此类推,直到幸存 left 个数为止,然后返回幸存数之和。从1(索引为0)开始起跳,中间跳过 4 个数字,因此依次删除 6,2,8,5,4,7。剩余1,3,9,返回和为13。给一个正整数数列 nums,一个跳数 jump,及幸存数量 left。第一行输入正整数数列。原创 2024-05-08 17:15:40 · 36 阅读 · 0 评论 -
华为OD-2024年C卷D卷-灰度图存储[100分]Java实现100%通过率
黑白图像常采用灰度图的方式存储,即图像的每个像素填充一个灰色阶段值,256阶灰图是一个灰阶值取值范围为 0~255 的灰阶矩阵,0表示全黑,255表示全白,范围内的其他值表示不同的灰度。如此,图像软件在打开此格式灰度图的时候,就可以根据此算法从压缩数据恢复出原始灰度图矩阵。请从输入的压缩数恢复灰度图原始矩阵,并返回指定像素的灰阶值。将压缩数据恢复后的灰阶矩阵第3行第5列的像案灰阶值是255。将压缩数据恢复后的灰阶矩阵第3行第4列的像素灰阶值是99。输出数据表示的灰阶矩阵的指定像素的灰阶值。原创 2024-05-08 17:12:37 · 28 阅读 · 0 评论 -
华为OD-C卷/D卷-多线段数据压缩[100分] Python3实现 100%通过率
上图中的多线段可以用下面的坐标串表示:(2,8),(3,7),(3,6),(3,5),(4,4),(5,3),(6,2),(7,3),(8,4),(7,5)。但可以发现,这种表示不是最简的,其实只需要存储6个蓝色的关键点即可,它们是线段的起点、拐点、终点,而剩下4个点是冗余的。现在,请根据输入的包含有冗余数据的多线段坐标列表,输出其最简化的结果。下图中,每个方块代表一个像素,每个像素用其行号和列号表示。为简化处理,多线段的走向只能是水平、竖直、斜向45度。压缩后的最简化坐标列表,和输入数据的格式相同。转载 2024-05-08 17:07:29 · 44 阅读 · 0 评论 -
华为OD-2024年C卷D卷-小华最多能得到多少克黄金[100分]Python3实现100%通过率
在横坐标和纵坐标的数位之和不大于 k 的方格中存在黄金(每个方格中仅存在一克黄金),但横坐标和纵坐标之和大于 k 的方格存在危险不可进入。小华从入口 (0,0) 进入,任何时候只能向左,右,上,下四个方向移动一格。小华按照地图去寻宝,地图上被划分成 m 行和 n 列的方格,横纵坐标范围分别是 [0, n-1] 和 [0, m-1]。输入中包含3个字数,分别是m, n, k。请问小华最多能获得多少克黄金?输出小华最多能获得多少克黄金。原创 2024-05-08 17:01:01 · 26 阅读 · 0 评论 -
华为OD-D卷-计算三叉搜索树的高度[100分]Python实现100%
每个节点都存有一个数,当插入一个新的数时,从根节点向下寻找,直到找到一个合适的空节点插入。给你一系列数,请按以上规则,按顺序将数插入树中,构建出一棵三叉搜索树,最后输出树的高度。第一行为一个数 N,表示有 N 个数,1 ≤ N ≤ 10000。第二行为 N 个空格分隔的整数,每个数的范围为[1,10000]输出树的高度(根节点的高度为1)原创 2024-05-08 16:51:55 · 24 阅读 · 0 评论 -
华为OD-2024年C卷D卷-学生重新排队[200分]Python3实现100%通过率
将3调整到4之前,队列调整为:7 9 8 5 6 3 4 2 1,那么三个小组成员均彼此相连 [7 9 8] [5 6 3] [4 2 1]为了便于同组学生交流,老师决定将小组成员安排到一起,也就是同组成员彼此相连,同组任意两个成员之间无其它组的成员。同组相连:同组任意两个成员之间无其他组的成员,比如有两个小组 [4, 5, 6] 和 [1, 2, 3],n 为学生的数量,n 的范围为 [3, 900],n 一定为 3 的整数倍。n 个学生排成一排,学生编号分别是 1 到 n,n 为 3 的整倍数。转载 2024-05-08 16:47:51 · 96 阅读 · 0 评论 -
华为OD-2024年D卷-查找众数及中位数[100分]Python实现100%
中位数是指把一组数据从小到大排列,最中间的那个数,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的个数为偶数,那就把中间的两个数之和除以2,所得的结果就是中位数。输入一个一维整型数组,数组大小取值范围 0原创 2024-04-12 00:14:31 · 582 阅读 · 0 评论 -
华为OD-C卷-最大N个数与最小N个数的和[100分][Java/Python/Cpp] 实现100%通过率
给定一个数组,编写一个函数来计算它的最大N个数与最小N个数的和。你需要对数组进行去重。最大2个数[100,95],最小2个数[83,64], 输出为342。最大2个数[4,3],最小2个数[3,2], 有重叠输出为-1。输出最大N个数与最小N个数的和。原创 2024-04-13 11:15:41 · 28 阅读 · 0 评论 -
华为OD-C卷-数组去重和排序[100分]( Java )实现100%通过率
给定一个乱序的数组,删除所有的重复元素,使得每个元素只出现一次,并且按照出现的次数从高到低进行排序,相同出现次数按照第一次出现顺序进行先后排序。数组大小不超过100 数组元素值大小不超过100。原创 2024-04-13 11:17:47 · 30 阅读 · 0 评论 -
华为OD-C卷-密码输入检测[100分]( JsNode )实现100%通过率
给定用户密码输入流 input,输入流中字符 '原创 2024-04-13 11:18:49 · 35 阅读 · 1 评论 -
华为OD-2024年C卷D卷-剩余银饰的重量[100分][100%通过率][优先队列模拟][Python3/Java/C++]实现
选出 3 7 10,需要计算 (7-3) 和 (10-7) 的差值,即(7-3)-(10-7)=1,所以数组转换为 [1],剩余一块,返回该块重量,返回1。有 N 块二手市场收集的银饰,每块银饰的重量都是正整数,收集到的银饰会被熔化用于打造新的饰品。假设银饰的重量分别为 x 、y和z,且 x ≤ y ≤ z。选出1 1 1,得到 0,最终数组转换为 [],最后没有剩下银块,返回0。如果剩余两块,返回较大的重量(若两块重量相同,返回任意一块皆可);每一回合,从中选出三块最重的银饰,然后一起熔掉。原创 2024-04-13 12:03:36 · 44 阅读 · 0 评论 -
华为OD-C卷-API集群负载统计[100分](Python3)实现100%通过率
某个产品的RESTful API集合部署在服务器集群的多个节点上,近期对客户端访问日志进行了采集,需要统计各个API的访问频次,根据热点信息在服务器节点之间做负载均衡,现在需要实现热点信息统计查询功能。RESTful API是由多个层级构成,层级之间使用 / 连接,如 /A/B/C/D 这个地址,A属于第一级,B属于第二级,C属于第三级,D属于第四级。接下来N行,每一行为一个RESTful API的URL地址,约束地址中仅包含英文字母和连接符 / ,最大层级为10,每层级字符串最大长度为10。原创 2024-04-13 12:05:00 · 26 阅读 · 1 评论 -
华为OD-2024年C卷D卷-CPU算力分配[100分]Python3实现100%通过率
现有两组服务器A和B,每组有多个算力不同的CPU,其中 A[i] 是 A 组第 i 个CPU的运算能力,B[i] 是 B组 第 i 个CPU的运算能力。第一行输入为L1和L2,以空格分隔,L1表示A组服务器中的CPU数量,L2表示B组服务器中的CPU数量。对于每组测试数据,输出两个整数,以空格分隔,依次表示A组选出的CPU算力,B组选出的CPU算力。求两组服务器中,用于交换的CPU的算力,并且要求从A组服务器中选出的CPU,算力尽可能小。第二行输入为A组服务器中各个CPU的算力值,以空格分隔。原创 2024-04-13 12:05:57 · 33 阅读 · 0 评论 -
华为OD-2024年C卷D卷-万能字符单词拼写[100分]( Java & Python3 )实现100%通过率
chars 由 a-z 英文小写字母和 "?" 可以当作 "a" 等字母。假如可以用 chars 中的字母拼写出 words 中的某个“单词”(字符串),那么我们就认为你掌握了这个单词。输出词汇表 words 中你掌握的所有单词的个数。注意:每次拼写时,chars 中的每个字母和万能字符都只能使用一次。words 的字符仅由 a-z 英文小写字母组成,例如 "abc"可以拼写字符串"cat"、"bt"和"hat"可以拼写字符串"hello"和"world"可以拼写字符串"apple"和“car”原创 2024-04-13 12:06:54 · 55 阅读 · 1 评论 -
华为OD-C卷-虚拟理财游戏[100分]
现有一家Bank,它提供有若干理财产品 m 个,风险及投资回报不同,你有 N(元)进行投资,能接收的总风险值为X。在一款虚拟游戏中生活,你必须进行投资以增强在虚拟游戏中的资产以免被淘汰出局。投资第二项30个单位,第四项40个单位,总的投资风险为两项相加为4+6=10。第四行:最大投资额度序列,输入为整数,取值范围[1, 10000]第二行:产品投资回报率序列,输入为整数,取值范围[1,60]第三行:产品风险值序列,输入为整数,取值范围[1, 100]你要在可接受范围内选择最优的投资方式获得最大回报。原创 2024-04-13 12:08:21 · 22 阅读 · 0 评论 -
华为OD-2024年C卷D卷-机场航班调度程序[100分]Python3 实现100%通过率
为保障航班的有序起飞,调度员首先按照航空公司的缩写(航班号前2个字母)对所有航班进行排序,同一航空公司的航班再按照航班号的后4个数字进行排序,最终获得安排好的航班的起飞顺序。XX市机场停放了多架飞机,每架飞机都有自己的航班号CA3385,CZ6678,SC6508等,航班号的前2个大写字母(或数字)代表航空公司的缩写,后面4个数字代表航班信息。输入为目前停留在该机场的航班号,输出为按照调度排序后输出的有序的航班号。航班号为6为长度,后4位位纯数字,不考虑存在后4位重复的场景。原创 2024-04-13 12:09:45 · 31 阅读 · 0 评论 -
华为OD-2024年C卷D卷-数的分解[100分]Python3实现100%通过率
给定一个正整数 n,如果能够分解为 m(m > 1)个连续正整数之和,请输出所有分解中,m最小的分解。如果给定整数无法分解为连续正整数,则输出字符串"N"。输入数据为一整数,范围为 (1, 2^30]其中 21=10+11,是最短的分解序列。原创 2024-04-13 12:11:09 · 47 阅读 · 0 评论 -
华为OD-C卷D卷-螺旋数字矩阵[100分] 100%通过率 [C/Java/Python/C++]实现
给出数字个数 n (0 < n ≤ 999)和行数 m(0 < m ≤ 999),从左上角的 1 开始,按照顺时针螺旋向内写方式,依次写出2,3,....,n,最终形成一个 m 行矩阵。疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。3个数字写5行,只有一列,数字不够用*号填充。两个整数,空格隔开,依次表示 n、m。9个数字写出4行,最少需要3列。原创 2024-04-13 12:14:29 · 42 阅读 · 0 评论 -
华为OD-C卷-停车场车辆统计[100分] Python3实现 100%通过率
车辆大小不一,小车占一个车位(长度1),货车占两个车位(长度2),卡车占三个车位(长度3)。整型字符串数组cars[],其中1表示有车,0表示没车,数组长度小于1000。特定大小的停车场,数组cars[]表示,其中1表示有车,0表示没车。统计停车场最少可以停多少辆车,返回具体的数目。整型数字字符串,表示最少停车数目。1个卡车占第5、6、7个车位。1个货车占第1、2个车位。1个小车占第1个车位。1个小车占第3个车位。1个小车占第9个车位。原创 2024-04-13 12:19:58 · 34 阅读 · 0 评论 -
华为OD-C卷-执行时长[100分]
为了充分发挥GPU算力,需要尽可能多的将任务交给GPU执行,现在有一个任务数组,数组元素表示在这1秒内新增的任务个数且每秒都有新增任务。假设GPU最多一次执行n个任务,一次执行耗时1秒,在保证GPU不空闲情况下,最少需要多长时间执行完成。第一个参数为GPU一次最多执行的任务个数,取值范围[1, 10000]第二个参数为任务数组长度,取值范围[1, 10000]第三个参数为任务数组,数字范围[1, 10000]一次最多执行3个任务,最少耗时6s。一次最多执行4个任务,最少耗时5s。原创 2024-04-13 12:25:23 · 30 阅读 · 0 评论 -
华为OD-C卷-素数之积[100分] [Python3/Java/C++] 实现 通过率100%
RSA加密算法在网络安全世界中无处不在,它利用了极大整数因数分解的困难度,数据越大,安全系数越高,给定一个 32 位正整数,请对其进行因数分解,找出是哪两个素数的乘积。如果成功找到,以单个空格分割,从小到大输出两个素数,分解失败,请输出-1, -1。一个正整数 num 0 < num < 2147483647。原创 2024-04-13 12:26:30 · 33 阅读 · 0 评论 -
华为OD-C卷-小朋友来自多少小区[100分] Python3实现 通过率100%
第三个小区反馈还有3个小朋友与自己同一小区,则这些小朋友只能是另外一个小区的。这个小区有4个小朋友。第一个小朋友反馈有两个小朋友和自己同一小区,即此小区有3个小朋友。第二个小朋友反馈有两个小朋友和自己同一小区,即此小区有3个小朋友。请根据这些小朋友给出的信息,计算班级小朋友至少来自几个小区?这两个小朋友,可能是同一小区的,且此小区的小朋友只有3个人。每个小朋友去了解与自己同一个小区的小朋友还有几个。输入:garden[] = {2, 2, 3}我们将这些数量汇总到数组 garden 中。原创 2024-04-13 12:51:10 · 45 阅读 · 0 评论 -
华为OD-C卷-整数对最小和[100分]
假设从array1、array2中分别取出一个元素可构成一对元素,现在需要取出k对元素,两对元素如果对应于array1、array2中的两个下标均相同,则视为同一对元素。取第一个数组第0个元素与第二个数组第0个元素组成1对元素[1,1];取第一个数组第1个元素与第二个数组第0个元素组成1对元素[1,1];给定两个整数数组array1、array2,数组元素按升序排列。求和为1+1+1+1=4,为满足要求的最小和。并对取出的所有元素求和,计算和的最小值。用例中,需要取2对元素。接下来一行为正整数k。原创 2024-04-13 12:44:39 · 32 阅读 · 0 评论 -
华为OD-C卷-智能成绩表[100分][100%通过率][自定义排序][Python3/Java/C++语言]实现
第 3 行开始的 n 行,每行包含一个学生的姓名和该生 m 个科目的成绩(空格隔开)输出一行,按成绩排序后的学生名字,空格隔开。成绩相同的按照学生姓名字典顺序排序。小明来到某学校当老师,需要将学生按考试总分或单科分数进行排名,你能帮帮他吗?按shuxue成绩排名,依次是xiaohua、fangfang、minmin。第n+2行,输入用作排名的科目名称。若科目不存在,则按总分进行排序。第 1 行输入两个整数,学生人数 n 和科目数量 m。第 2 行输入 m 个科目名称,彼此之间用空格隔开。转载 2024-04-13 11:47:36 · 40 阅读 · 0 评论 -
华为OD-C卷-堆内存申请[100分] 100%通过率[输入不合法情况较多]Python3实现
堆中已使用的两块内存是偏移从0开始的1字节和偏移从3开始的2字节,空闲的两块内存是偏移从1开始2个字节和偏移从5开始95字节,根据分配原则,新申请的内存应从1开始分配1个字节,所以输出偏移为1。有一个总空间为100字节的堆,现要从中新申请一块内存,内存分配原则为:优先紧接着前一块已使用内存,分配空间足够且最接近申请大小的空闲内存。表示 0 偏移地址开始的 1 个字节和 3 偏移地址开始的 2 个字节已被分配,其余内存空闲。第1行是1个整数,表示期望申请的内存字节数。若申请成功,输出申请到内存的偏移;原创 2024-04-13 12:13:28 · 63 阅读 · 0 评论 -
华为OD-C卷-计算面积[100分]( Python3 )实现100%通过率
绘图机器的绘图笔初始位置在原点(0,0)机器启动后按照以下规则来进行绘制直线。一个整数表示计算得到的面积 用例保证结果范围在0到4294967295之内。请计算绘制的直线和横坐标轴以及x=E的直线组成的图形面积。接下来N行 每行两个整数表示一条绘制指令x offsetY。给定的横坐标终点值E 以及若干条绘制指令,表示有N条指令,机器运行的横坐标终点值E。用例保证横坐标x以递增排序的方式出现。首行为两个整数 N 和 E。且不会出现相同横坐标x。原创 2024-04-13 12:54:01 · 49 阅读 · 1 评论 -
华为OD-C卷D卷-英文输入法[100分]C++实现100%通过率
从用户已输入英文语句”The furthestdistance in the world, Is not between life and death, But when I stand in frontof you, Yet you dont know that I love you.”中提炼出的单词,符合“f”作为前缀的,有“furthest”和“front”,按字典序排序并在单词间添加空格后输出,结果为“front furthest”。首行输入一段由英文单词word和标点符号组成的语句str;原创 2024-04-13 12:29:37 · 28 阅读 · 0 评论 -
华为OD-C卷-最多购买宝石数目[100分]( Java )实现100%通过率
之后 n 行分别表示从第0个到第n-1个宝石的价格,即 gems[0] 到 gems[n-1] 的价格,类型为int,取值范围:(0,1000]。例如客户最大购买宝石个数为m,购买的宝石编号必须为:gems[i],gems[i+1],...,gems[i+m-1]最多购买的宝石为gems[2]至gems[4]或者gems[3]至gems[5]橱窗里有一排宝石,不同的宝石对应不同的价格,宝石的价格标记为 gems[i]最多购买的宝石为gems[0]至gems[8],即全部购买。因为没有宝石,所以返回0。原创 2024-04-13 11:28:36 · 44 阅读 · 0 评论