
机试算法练习
OD机试练习题【JAVA】,目标:上岸!
有偿收集OD真题
已收集题目200+,持续更新中。。。
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
普通网友
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【华为OD机试】计算比赛得分
一个有N个选手参加比赛,选手编号为1~N (3<=N<=100) ,有M (3<=M<=10) 个评委对选手进行打分,打分规则为每个评委对选手打分,最高分10分,最低分1分,请计算得分最多的3位选手的编号,如果得分相同,则得分高分值最多的选手排名靠前(10分数量相同,则比较9分的数量,以此类推,用例中不会出现多个选手得分完全相同的情况)第2到M+1行是半角逗号分割的整数序列,表示评委为每个选手的打分,0号下标数字表示1号选手分数,1号下标数字表示2号选手分数,依次类推。名选手参加,要求最少为。原创 2025-08-05 23:16:35 · 17 阅读 · 0 评论 -
【华为OD机试】下五子棋
走了一会儿,轮张兵了,对着一条线思考起来了,这。3、找到一个空位(0),用棋子(1/-1)填充该位置, 可以使得当前子的最大连续长度变大;用数组表示:-1 0 1 1 1 0 1 0 1 -1。4、如果存在多个位置,返回最靠近中间的较小的那个坐标;2、数组长度L,满足1 <L <40,且L为奇数。1、 -1代表白子,0代表空位,1代表黑子。5、如果不存在可行位置,直接返回-1;当前为白子,唯一可以放置的位置下标为。1个整数,表示出子位置的数组下标。的位置,黑子的最大连续长度,可以由。,白子的最大长度,由。原创 2025-08-05 23:08:46 · 9 阅读 · 0 评论 -
【华为OD机试】光盘分装文件
有若干个文件,使用刻录光盘的方式进行备份,假设每张光盘的容量是500MB,求使用光盘最少的文件分布方式,所有文件的大小都是整数的MB,且不超过500MB;文件不能分割、分卷打包。原创 2025-08-05 23:04:28 · 8 阅读 · 0 评论 -
【华为OD机试】简化字符串
示例:输入字符串为"never(dont)live(run)up(f)()",初始等效字符集合为(d,o,n,t)、(r,u,n),由于等效关系可以传递,因此最终等效字符集合为(d,o,n,t,r,u),将输入字符串里的剩余部分按字典序最小的等效字符替换后得到devedgivedp。要对这个输入字符串做简化,输出一个新的字符串,输出字符串里只需保留输入字符串里的没有被小括号对包含的字符(按照输入字符串里的字符顺序),并将每个字符替换为在小括号对里包含的目字典序最小的等效字符。原创 2025-08-05 22:55:44 · 8 阅读 · 0 评论 -
【华为OD机试】告警抑制
告警抑制,是指高优先级告警抑制低优先级告警的规则。高优先级告警产生后,低优先级告警不再产生。请根据原始告警列表和告警关系,给出实际产生的告警列表。接下来N行,每行是由空格分隔的两个告警ID,例如: id1 id2 ,表示id1抑制id2, 告警ID的格式为: 大写字母+0个或者1个数字。但被抑制的告警仍然可以抑制其他低优先级告警。,能够抑制它的只有A0,而当前告警列表中没有A0,因此告警。,没有能抑制它的告警,因此正常发生。,没有能抑制它的告警,因此正常发生。,没有能抑制它的告警,因此正常发生。原创 2025-08-05 21:51:49 · 8 阅读 · 0 评论 -
【华为OD机试】文件拷贝
文件占用的软盘空间都是按块分配的,每个块大小为512个字节。拷贝到软盘中的文件必须是完整的,且不能采取任何压缩技术。但此电脑除了有一个3.5寸软盘驱动器以外,没有任何手段可以将文件持贝出来,而且只有一张软盘可以使用,因此这一张软盘是唯一可以用来拷贝文件的载体。接下来的第2行到第N+1行(共N行),每行为一个整数,表示每个文件的大小Si,单位为字节。科学家想要尽可能多地将计算机中的信息拷贝到软盘中,做到软盘中文件内容总大小最大。个文件中,每个文件实际占用的大小分别为。的文件,得到的总大小也是。原创 2025-08-05 19:24:49 · 9 阅读 · 0 评论 -
【华为OD机试】刷编程题
在小王刷题计划中,小王需要用time[i]的时间完成编号的题目此外,小王还可以查看答案,可以省去该题的做题时间。为了提升软件编码能力,小王制定了刷题计划,他选了题库中的n道题,编号从0到n-1,并计划在m天内按照题目编号顺序刷完所有的题目(注意,小王不能用多天完成同一题)在前三天中,小王每天都直接看答案,这样他可以在三天内完成所有的题目并不花任何时间。第二行输入为m,m表示几天内完成所有题目,1<=m<=180。第一行输入为time,time[i]的时间完成编号的题目。请求出最小的T是多少。原创 2025-08-05 19:19:28 · 9 阅读 · 0 评论 -
【华为OD机试】求一副牌可得的最高分数
积分规则中没有的出牌方式不支持,例如不支持3带1、 4带2,不支持5张以上的顺,且10JQKA (0JQK1)不算顺。● 出5张顺,记牌面分数总和再x2,例如出34567顺,得分(3+4+5+6+7)x2=50。● 出对或3张,记牌面分数总和再x2,例如出3张3,得分为(3+3+3)x2=18。●出4张炸弹,记牌面分数总和再x3,例如出4张4,得分为4x4x3=48。1-9输入为数字1-9,10输入为数字0, JQK输入为大写字母JQK。● 出单张,记牌面分数,例如出一张2, 得分为2。原创 2025-08-05 19:14:36 · 11 阅读 · 0 评论 -
【华为OD机试】Logo坐标
第一个数字表示Logo左上角点的初始X坐标,第二个数字表示Logo左上角点的初始Y坐标,第三个数字表示时间t,题目要求求t秒后Logo左上角点的位置。2、 Logo是一个50*25像素的矩形,初始状态下,左上角点坐标记做(x, y), 它在X和Y方向. 上均以1像素/秒的速度开始运动。1、屏幕是一个800 * 600像素的矩形,规定屏幕的左上角点坐标原点,沿横边向右方向为X轴,沿竖边向下方向为Y轴。第一个数字表示t秒后,Logo左上角点的X坐标;s后,会与屏幕碰撞,碰撞后,斜向。像素就碰到屏幕下边缘了,原创 2025-08-05 19:07:50 · 7 阅读 · 0 评论 -
【华为OD机试】打印下层节点
第一行输入行数,下面是多行数据,每行以空格区分节点和父节点,接着是查询节点。树中的节点是唯一的,不会出现两个节点,是同一个名字。输入一个节点之后,请打印出来树中它的所有下层节点。输出查询节点的所有下层节点。通常使用多行的节点父节点表示一棵树,比如。所以最终输入d、e、f。a的下层结点是b和c。原创 2025-08-05 18:58:59 · 7 阅读 · 0 评论 -
【华为OD机试】寻宝游戏
在横坐标和纵坐标的数位之和不大于k的方格中存在黄金(每个方格中仅存在一克黄金) ,但横坐标和纵坐标之和大于k的方格存在危险不可进入。小华从入口(0,0)进入,任何时候只能向左,右,上,下四个方向移动一格。小华按照地图去寻宝,地图上被划分成m行和n列的方格,横纵坐标范围分别是 [0, n-1] 和 [0, m-1]。坐标取值范围如下:0≤m≤50,0≤n≤50。输入中包含3个字数,分别是m, n, k。k的取值范围如下:0≤k≤100。请问小华最多能获得多少克黄金?输出小华最多能获得多少克黄金。原创 2025-08-05 18:46:27 · 8 阅读 · 0 评论 -
【华为OD机试】斗地主
可用的牌3<4<5<6<7<8<9<10<J<Q<K<A<2<B(小王)<C(大王),每种牌除大小王外有四种花色(共有13x4+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。对手可能构成的最长的顺子(如果有相同长度的顺子,输出牌面最大的那一个)2、已经出过的牌(包括对手出的和自己出的牌)原创 2025-08-05 18:39:35 · 8 阅读 · 0 评论 -
【华为OD机试】找出符合的芯片组合
1、如果申请处理器个数为1,则选择同一链路,剩余可用的处理器数量为1个的最佳,其次是剩余3个的为次佳,然后是剩余2个,最后是剩。每台物理设备具备8颗AI处理器,编号分别为0、1、2、3、4、5、6、7。2、如果申请处理器个数为2,则选择同一链路剩余可用的处理器数量2个的为最佳,其余是剩余4个,最后是剩余3个。编号0-3的处理器处于同一个链路中, 编号4-7的处理器处于另外一个链路中,不通链路中的处理器不能通信。3、如果申请处理器个数为4,则必须选择同一链路剩可用的处理器数量为4个。任务申请1个处理器。原创 2025-08-05 18:33:46 · 13 阅读 · 0 评论 -
【华为OD机试】计算任务总执行时长
参与编排的任务有两种类型,其中一种执行时长为taskA,,另一种执行时长为taskB。第2种任务执行时长taskB,这次要编排的任务个数num,以逗号分隔。请编写一个方法,生成每次编排后的任务所有可能的总执行时长。数组形式返回所有总执行时时长,需要按从小到大排列。任务一旦开始执行不能被打断,且任务可连续执行。第1行输入分别为第1种任务执行时长taskA,注:每种任务的数量都大于本次可以编排的任务数量。任务编排服务负责对任务进行组合调度。,以此类推,得到最终的结果。次taskA,得到结果。原创 2025-08-05 18:29:10 · 6 阅读 · 0 评论 -
【华为OD机试】计算待更换的连续走位最小可能长度-JAVA
现给定玩家的走位(例如: ASDA),请通过更换其中一段连续走位的方式使得原走位能够变成一个完美走位。其中待更换的连续走位可以是相同长度的任何走位,请返回待更换的连续走位的最小可能长度。假设玩家每按动一次键盘,游戏任务会向某个方向移动一步,如果玩家在操作一定次数的键盘并且各个方向的步数相同时,此时游戏任务必定会回到原点,则称此次走位为完美走位。在第一人称射击游戏中,玩家通过键盘的A、S、D、W四个按键控制游戏人物分别向左、后、向右、向前进行移动,从而完成走位。输出为待更换的连续走位的最小可能长度。原创 2025-08-05 18:00:45 · 10 阅读 · 0 评论 -
【华为OD机试】字符串屏蔽-JAVA
屏蔽字符串:屏蔽字符串中的所有字母不能同时在输出的字符串出现,如屏蔽字符串是abc,则要求字符串中不能同时出现a,b,c,但是允许同时出现a,b或a,c或b,c等;第一行输入为一串数字字符串,数字字符串中的数字不允许重复,数字字符串的长度大于0,小于等于5;● 0 关联 “a”,”b”,”c”● 1 关联 “d”,”e”,”f”● 2 关联 “g”,”h”,”i”● 3 关联 “j”,”k”,”l”● 4 关联 “m”,”n”,”o”● 5 关联 “p”,”q”,”r”● 6 关联 “s”,”t”原创 2025-08-04 19:02:09 · 12 阅读 · 0 评论 -
【华为OD机试】重复代码优化
复代查找方法:以字符串形式给定两行代码(字符串长度1 < length <= 100,英文字母、数字和空格组成),找出两行代码中的最长公共子串。小明负责维护项目下的代码,需要查找出重复代码,支撑后续的代码优化,请你帮助小明找出重复的代码。输入的参数 text1, text2分别表示两行代码。注:如果不存在公共子串,返回空字符串。输出任一最长公共子串。原创 2025-08-04 18:56:37 · 13 阅读 · 0 评论 -
【华为OD机试】优惠券使用-JAVA
每人每次只能用两种优惠券,并且同一种优惠券必须一次用完,不能跟别的穿插使用(比如用一张满减, 再用一张打折,再用一张满减,这种顺序不行)。满减券:满100减10,满200减20,满300减30, 满400减40,以此类推不限制使用;第一行三个数字m,n,k,分别表示每个人可以使用的满减券、打折券和无门槛券的数量;模拟商场优惠打折,有三种优惠券可以用,满减券、打折券和无门槛券。k,分别表示每个人可以使用的满减券、打折券和无门槛券的数量。输出每个人使用券之后的最低价格和对应使用优惠券的数量。原创 2025-08-04 18:40:11 · 11 阅读 · 0 评论 -
【华为OD机试】接口失败率找最长时间段-JAVA
找出平均值小于等于minAverageLost的最长时间段,输出数组下标对,格式{beginIndex}-{endIndx}(下标从0开始),如果同时存在多个最长时间段,则输出多个下标对且下标对之间使用空格(” “)拼接,多个下标对按下标从小到大排序。输入有两行内容,第一行为{minAverageLost},第二行为{数组},数组元素通过空格(” “)分隔,数组中每个元素都是单位时间内失败率数值,数组中的数值为0~100的整数,,因此数组第一个至第三个数组下标,即。的最长时间段为:数组下标为。原创 2025-08-04 18:25:00 · 12 阅读 · 0 评论 -
【华为OD机试】新工号系统求数字最短长度
但是过长的工号会增加同事们的记忆成本,现在给出新工号至少需要分配的人数X和新工号中字母的长度Y,求新工号中数字的最短长度Z。新工号由一段英文字母开头,之后跟随一 段数字,比如"aaahw0001",“a12345”,“abcd1”,“a00”。继承历史传统,新的工号系统由小写英文字母(a-z) 和数字(0-9) 两部分构成。3020年, 空间通信集团的员工人数突破20亿人,即将遇到现有工号不够用的窘境。注意新工号不能全为字母或者数字,允许数字部分有前导0或者全为0。输出新工号中数字的最短长度Z。原创 2025-08-04 18:19:29 · 107 阅读 · 0 评论 -
【华为OD机试】计算二维矩阵最大值-JAVA
1、每行元素按下标顺序组成一个二进制数(下标越大越排在低位),二进制数的值就是该行的值, 矩阵各行值之和为矩阵的值。[1,0,1,1,1]向右整体循环移动2位变为[1,1,1,0,1],二进制数为11101,值为29。[1,0,1,1,1]向左整体循环移动2位变为[1,1,1,1,0],二进制数为11110,值为30。2、允许通过向左或向右整体循环移动每行元素来改变各元素在行中的位置。2、输入的第2到N+1行为二维矩阵信息,行内元素边角逗号分隔。1、输入的第一行为正整数,记录了N的大小,0<N<= 20。原创 2025-08-04 18:13:39 · 14 阅读 · 0 评论 -
【华为OD机试】平均像素值计算-JAVA
请你给图像每个像素点值加上一个整数k (可以负数),得到新图 newlmg, 使得新图newlmg的所有像素平均值最接近中位值128。新图的像素值会自动截取到 [0,255]范围。当新像素值<0,值会更改为0;当新像素值> 255,值会更改为255;一个图像有n个像素点,存储在一个长度为n的数组 img里,每个像素点的取值范围 [0,255]的正整数。例如 newlmg=“-1 -2 256”,会自动更改为"0 0 255"如有多个整数k都满足,输出小的那个k;n个整数,中间空格分开。原创 2025-08-04 18:06:50 · 12 阅读 · 0 评论 -
【华为OD机试】王者荣耀表演赛-JAVA
部门准备举办一场王者荣耀表演赛,有10名游戏爱好者参与,分别为两队,每队5人。每位参与者都有一个评分, 代表着他的游戏水平。为了表演赛尽可能精彩,我们需要把10名参赛者分为实力尽量相近的两队,一队的实力可以表示为这一队5名队员的评分总和。现在给你10名参与者的游戏水平评分,请你根据上述要求分队最后输出这两组的实力差绝对值。1个整数,表示分组后两组实力差绝对值的最小值。10个整数,表示10名参与者的游戏水平评分。原创 2025-08-04 18:02:23 · 98 阅读 · 0 评论 -
【华为OD机试】升序排列数组合并区间
任意两个给定区间的交集,称为公共区间(如:[1,2],[2 ,3]的公共区间为[2,2], [3,5],[3,6]的公共区间为[3,5])公共区间之间若存在交集,则需要合并(如:[1,3],[3,5]区间存在交集[3,3], 需合并为[1,5])一组区间列表,区间数为N: 0<=N<=1000;区间元素为X: -10000<=X<=10000。1、区间元素均为数字,不考虑字母、符号等异常输入。给定一组闭区间,其中部分区间存在交集。按升序排列输出合并后的区间列表。2、单个区间认定为无公共区间。原创 2025-08-04 17:50:21 · 7 阅读 · 0 评论 -
【华为OD机试】从小桶里取球
如果小球总数超过SUM,则需对所有的小桶统一设置一个容量大值maxCapacity,并需将超过容量最大值的小球拿出来,直到小桶里的小球数量小于maxCapacity;如果所有小桶的小球总和大于SUM,则需设置容量最大值maxCapacity,并且需从小桶中拿球出来,返回从每个小桶拿出的小球数量组成的数组;所有小桶的小球总和小于SUM,则无需设置容量值maxCapacity,并且无需从小桶中拿球出来,返回结果[]找到一个maxCapacity来保证取出尽量少的球,并返回从每个小桶拿出的小球数量组成的数组。原创 2025-08-03 20:59:01 · 22 阅读 · 0 评论 -
【华为OD机试】荒岛逃生
有一个荒岛,只有左右两个港口,只有- -座桥连接这两个港口,现在有一群人需要从两个港口逃生,有的人往右逃生,有的往左逃生,如。果两个人相遇,则pk,体力值大的能够打赢体力值小的,体力值相同则同归于尽,赢的人才能继续往前逃生,并减少相应的体力。一行非0整数,用空格隔开,正数代表向在逃生,负数代表向左逃生。原创 2025-08-03 20:33:38 · 11 阅读 · 0 评论 -
【华为OD机试】蓄水库最大边界
当存在合理的水库边界时,输出左边界、空格、右边界、英文冒号、蓄水量;例如02:1,当不存在合理的书库边界时,输出0;例如,当山脉为s=[3,1,2]时,则选取s[0]和s[2]作为水库边界,则蓄水量为1,此时输出:0 2:1。● 选取山脉上两个点作为蓄水库的边界,则边界内的区域可以蓄水,蓄水需排除山脉占用的空间。一行正整数,用空格隔开,例如输入1 2 3,表示s=[1,2,3]当山脉s=[3,2,1]时,不存在合理的边界,此时输出:0。● 如果出现多个满足条件的边界,应选取距离最近的一组边界。原创 2025-08-03 19:55:34 · 16 阅读 · 0 评论 -
【华为OD机试】找出两个数组中相同的整数
1、有同时出现的整教时,先按照同时出现次数(整数在两人数组中都出现并目出现次数较少的那人)进行归类,然后按照出现次数到大依次按行输出。每行输出的格式为: 出现次数:该出现次数下的整数升序排序的结果。第一行为第一个整数数组,第二行为第二个整数数组。两个整数数组没有同时出现的整数,输出NULL。2、没有同时出现的整数时,输出NULL。按照出现次数从小到大依次按行输出,原创 2025-08-03 19:09:05 · 10 阅读 · 0 评论 -
【华为OD机试】投篮大赛
2、ops[ i ]为"C"、“D”、 “+”, 或者一个表示整数的字符串。这场比赛由若干回合组成,过去机回合的得分可能会影响以后几回合的得分。5、对于"C"和"D"操作,题目数据不保证记录此操作时前面存在一个有效的分数。4、对于"+"操作,题目数据不保证记录此操作时前面总是存在两个有效的分数。“C”:表示本回合没有分数,并且前一次得分无效,将其从记录中移除。“D”: 表示本回合新获得的得分是前一次得分的两倍。“+”:表示本回合新获得的得分是前两次得分的总和。使前一次得分的记录无效并将其移除,记录现在是。原创 2025-08-03 18:47:45 · 14 阅读 · 0 评论 -
【华为OD机试】确定学校位置
为了解新学期学生暴涨的问题,小乐村要建立所新学校,考虑到学生上学安全问题,需要所有学生家到学校的距离最短。第二行:一组整数m取值范围 [0,10000 ],表示每户家庭的位置,所有家庭的位置都不相同。假设学校和所有学生家都走在一条直线之上,请问学校建立在什么位置,第一行:整数n取值范围[1 ,1000 ],表示有n户家庭。能使得到学校到各个学生家的距离和最短。如果有多个位置,则输出最小的。一个整数,确定的学校的位置。到各个家庭的距离分别为。原创 2025-08-03 18:08:34 · 15 阅读 · 0 评论 -
【华为OD机试】单词联想
依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列,如果联想不到,请输出用户输入的单词前缀。2、缩略形式如 “don’t ”,判定为两个单词,” don" 和 " t ”从已输入信息中无法联想到任何符合要求的单词,因此输出用户输入的单词前缀。输出符合要求的单词序列或单词前缀,存在多个时,单词之间以单个空格分割。3、输出的单词序列,不能有重复单词,只能是英文单词,不能有标点符号。“中提炼出的单词,符合“f作为前缀的, 有”” 三个单词,接下来用户输入”原创 2025-08-03 17:55:56 · 14 阅读 · 0 评论 -
【华为OD机试】元音字符串
开头和结尾都是元音字母(aeiouAEIOU) 的字符串为元音字符串,其中混杂的非元音字母数量为其瑕疵度。给定一个字符串,请找出指定瑕疵度的最长元音字符子串,并输出其长度,如果找不到满足条件的元音字符子串,输出0。接下来一行是一个仅由字符a-z和A-Z组成的字符串,字符串长度(0, 65535]。首行输入是一个整数,表示预期的瑕疵度flaw,取值范围 [0, 65535]。子串:字符串中任意个连续的字符组成的子序列称为该字符串的子串。输出为一个整数,代表满足条件的元音字符子串的长度。原创 2025-08-03 17:43:59 · 14 阅读 · 0 评论 -
【华为OD机试】选牌总分计算
2、选手也可不选择本轮牌面直接跳到下一轮,此时将当前总分数还原为3轮前的总分数,若当前轮次小于等于3 (即在第1、2、3轮选择跳过轮次),则总分数置为0。给定一个长度为n的整型数组, 表示一个选手在n轮内可选择的牌面分数。选手基于规则选牌,请计算所有轮结束后其可以获得的最高总分数。1、在每轮里选手可以选择获取该轮牌面,则其总分数加上该轮牌面分数,为其新的总分数。第一行为一个小写逗号分割的字符串,表示n轮的牌面分数,1<= n <=20。3、选手的初始总分数为0,且必须依次参每一轮。原创 2025-08-03 17:35:18 · 12 阅读 · 0 评论 -
【华为OD机试】找出同班同学
幼儿园两个班的小朋友在排队时混在了一起,每位小朋友都知道自己是否与前面一位小朋友同班,请你帮忙把同班的小朋友找出来。小朋友的编号是整数,与前一位小朋友同班用Y表示,不同班用N表示。学生序号范围(0,999], 如果输入不合法则打印ERROR。输入为空格分开的小朋友编号和是否同班标志。2、若只有一个班的小朋友,第二行为空行。1、编号需按照升序排列。原创 2025-08-03 17:27:45 · 12 阅读 · 0 评论 -
【华为OD机试】最大N个数和最小N个数之和
给定一个数组,编写一个函数来计算它的最大N个数 与最小N个数的和。你需要对数组进行去重。2、最大N个数与最小N个数不能有重叠,如有 ** 重叠,输入非法 **返回-1。第三行输入N, N表达需要计算的最大、最小N个数。1、数组中数字范围[0, 1000]第二行输入M个数,表示数组内容。输出最大N个数与最小N个数的和。第一行输入M,M表示数组大小。3、输入非法返回-1。原创 2025-08-03 17:19:19 · 14 阅读 · 0 评论 -
【华为OD机试】绝对值排序
小明今年升学到了小学1年级来到新班级后,发现其他小朋友身高参差不齐,然后就想基于各小朋友和自己的身高差,对他们进行排序,请帮他实现排序。第二行为n个正整数,h1 ~ hn分别是其他小朋友的身高,取值范围0<hi<200, n个正整数各不相同。第一行为正整数h和n, 0<h<200 为小明的身高,0<n<50 为新班级其他小朋友个数。如果两个小朋友和小身高差一样, 则个子较小的小朋友排在前面。和小明身高差绝对值最小的小朋友排在前面,和小明身高差绝对值最大的小朋友排在后面,输出排序结果,各正整数以空格分割,原创 2025-08-02 17:46:26 · 90 阅读 · 0 评论 -
【华为OD机试】GPU任务执行时间
为了充分发挥GPU[算力],要尽可能多的将任务交给GPU执行,现在有一个任务数组, 数组元素表示在这1秒内新增的任务个数且每秒都有新增任务。假设GPU最多一次执行n个任务, 一次执行耗时1秒,在保证GPU不空闲情况下,最少要多长时间执行完成。● 第一个参数为GPU一次最多执行的任务个数,取值范围[1, 10000]● 第二个参数为任务数组长度,取值范围[1, 10000]● 第三个参数为任务数组,数字范围[1, 10000]执行完所有任务最少需要多少秒。原创 2025-08-02 17:41:22 · 13 阅读 · 0 评论 -
【华为OD机试】最长时间段
找出平均值小于等于minAverageLost的最长时间段,输出数组下标对,格式{beginIndex}-{endIndx}(下标从0开始),如果同时存在多个最长时间段,则输出多个下标对且下标对之间使用空格(” “)拼接,多个下标对按下标从小到大排序。输入有两行内容,第一行为{minAverageLost},第二行为{数组},数组元素通过空格(” “)分隔,数组中每个元素都是单位时间内失败率数值,数组中的数值为0~100的整数,,因此数组第一个至第三个数组下标,即。的最长时间段为:数组下标为。原创 2025-08-02 17:36:46 · 11 阅读 · 0 评论 -
【华为OD机试】输出可用字符串
给定两个字符集合,一个是全量字符集,一个是已占用字符集,已占用字符集中的字符不能再使用。4、每个字符都表示为字符+数字的形式用英文冒号分隔,比如a:1标识一个a字符。1、输入一个字符串 一定包含@,@前为全量字符集 @后的为已占用字符集。2、已占用字符集中的字符一定是全量字符集中的字符。3、字符集中的字符跟字符之间使用英文逗号隔开。5、如果某个字符已全部占用 则不需要再输出。3、注意 输出的字符顺序要跟输入的一致。8、例如 a:3,b:5,c:2@4、不能输出b:3,a:2,c:2。全量字符集为三个a,原创 2025-08-02 17:32:44 · 30 阅读 · 0 评论 -
【华为OD机试】最小字符串
给定一个字符串s,最多只能进行一次变换,返回变换后能得到的最小字符串(按照字典序进行比较)。变换规则:交换字符串中任意两个不同位置的字符。第一个b和最后一个a交换,可以得到最小字符串。abcdef已经是最小字符串,不需要交换。a和b进行位置交换,可以得到最小字符串。按照要求进行变换得到的最小字符串。一串小写字母组成的字符串s。原创 2025-08-02 17:25:26 · 13 阅读 · 0 评论