![](https://img-blog.csdnimg.cn/a3496b057932415196b56b2d517f6945.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
2023华为OD机试机试真题(A卷+B卷)
文章平均质量分 69
励志做2023年全网最全、解法最多的华为OD机考算法题库,帮助你上岸华为。提供C++/Java、JavaScript、Python四种语言的解法。每篇文章都有详细的结题步骤。有问题,随时解答。每天实时更新
优惠券已抵扣
余额抵扣
还需支付
¥59.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
学算法的小新
这个作者很懒,什么都没留下…
展开
-
【华为OD统一考试 100分】农场施肥 不爱施肥的小布(C++ Java JavaScript Python)
对于一个给定的 k,我们可以计算出以该能效施肥需要的天数 days,如果 days 大于 n,说明 k 太小,应该将 k 的值增大,反之则应该将 k 的值减小。某农场主管理了一大片果园,fields[i]表示不同果林的面积,单位:m^2,现在要为所有的果林施肥且必须在n天之内完成,否则影响收成。要求我们找到最小的能效 k,使得在 n 天内能施肥完所有果林,因此我们可以使用二分法来查找 k 的值。假设施肥机的能效为k,单位:m^2/day,请问至少租赁能效 k 为多少的施肥机才能确保不影响收成?原创 2024-01-22 14:23:07 · 54 阅读 · 0 评论 -
【华为OD统一考试 100分】 图像物体的边界(C++ Java JavaScript Python)
1)如下图,与像素5的格子相邻的像素1的格子(0,0)、(0,1)、(0,2)、(1,0)、(1,2)、(2,0)、(2,1)、(2,2)、(4,4)、(4,5)、(5,4)为边界,另(0,0)、(0,1)、(0,2)、(1,0)、(1,2)、(2,0)、(2,1)、(2,2)相邻,为1个边界,(4,4)、(4,5)、(5,4)相邻,为1个边界,所以下图边界个数为2。第二行开始,是M行N列的像素的二维数组,仅包含像素1和5。(2,2)、(3,3)相邻。像素1代表的物体的边界个数。第一行,行数M,列数N。原创 2024-01-22 14:19:26 · 172 阅读 · 0 评论 -
【华为OD统一考试 100分】 预订酒店(C++ Java JavaScript Python)
2.优先选择价格最接近心理价位的酒店,若两家酒店和心理价位差价相同,则选择价格较低的酒店。(比如100元和300元距离心理价位200元同样接近,此时选择100元)放暑假了,小明决定到某旅游景点游玩,他在网上搜索到了各种价位的酒店(长度为n的数组A),他的心理价位是x元,请帮他筛选出k个最接近x元的酒店(n>=k>0),并。1.酒店价格数组A和小明的心理价位x均为整型数据;(0原创 2024-01-21 15:18:04 · 53 阅读 · 0 评论 -
【 华为OD统一考试 100分】 组装新的数组(C++ Java JavaScript Python 100%)
首先将小于等于目标总和的元素添加到新数组中,然后从新数组的第一个元素开始遍历,每次将当前元素加入组合中,更新元素总和和最小的元素,再递归调用dfs函数处理下一个元素。最后输出符合要求的组合数量。来在N中选取多个元素(同一个元素可以重复选取),这个逻辑其实就是求可重复元素组合情况,每得到一个组合就看其和sum是否等于m,或者m - sum 是否已经小于 N.min,若是,则该组合是符合要求的,count++,否则不符合要求,继续找。当sum > m时,则说明往后的组合已经无法符合要求,此时需要进行回溯了。原创 2024-01-21 14:49:44 · 138 阅读 · 0 评论 -
【华为OD机试 2023最新 】 Linux发行版的数量(C++ 100%)
序列(最多1000个整数),请找出此完全二叉树的所有非叶子节点部分,然后采用后序遍历方式将此部分树(不包含叶子)输出。1、只有一个节点的树,此节点认定为根节点(非叶子)。,可能存在倒数第二层出现叶子或者无右叶子的情况。备注:输出数字以空格分隔。是基于根来说的,遍历顺序为:左-右-根。给定一个以顺序储存结构存储整数值的。一个通过空格分割的整数序列字符串。2、此完全二叉树并非。原创 2023-06-08 21:40:58 · 2271 阅读 · 0 评论 -
【华为OD机试 2023】快递投放问题(C++ Java JavaScript Python )
每个站点有一些包裹要运输,每个站点间的包裹不重复,路上有检查站会导致部分货物无法通行,计算哪些货物无法正常投递?有N个快递站点用字符串标识,某些站点之间有道路连接。不然的话,包裹2 可以通过A-B-C 运输。前M行是货物需要走的路径。A-B之间不允许出现包裹1。A-C之间不允许出现包裹2。包裹1 需要走A-C。包裹2 需要走A-C。包裹3 需要走B-C。包裹4 需要走A-C。原创 2023-06-01 22:51:52 · 2048 阅读 · 1 评论 -
【华为OD机试 2023】快递业务站(C++ Java JavaScript Python)
现用二维数组给定N个站点的可达关系,请计算至少选择从几个主站点出发,才能可达所有站点(覆盖所有站点业务)。快递业务范围有 N 个站点,A 站点与 B 站点可以中转快递,则认为 A-B 站可达,n-1,用 s[i][j]表示 i-j 是否可达,s[i][j] = 1表示 i-j可达,s[i][j] = 0表示 i-j 不可达。之后 N 行表示站点之间的可达关系,第i行第j个数值表示编号为i和j之间是否可达。如果 A-B 可达,B-C 可达,则 A-C 可达。说明:s[i][j]与s[j][i]取值相同。原创 2023-06-01 22:49:08 · 1850 阅读 · 0 评论 -
【华为OD机试 2023】垃圾短信识别(C++ Java JS Python)
第一行是条目数,接下来几行是具体的条目,每个条目,是一对ID,第一个数字是发送者ID,后面的数字是接收者ID,中间空格隔开,所有的ID都为无符号整型,ID最大值为100;这道题是一道简单的模拟题,主要思路是统计指定ID发送和接收短信的人员列表,然后计算 L 和 M 两个指标,最后判断是否符合垃圾短信的条件。遍历二维数组,统计指定ID发送短信的人员列表和从指定ID接收短信的人员列表,并使用 map 统计指定ID发送和接收短信的个数。输出结果,包括是否为垃圾短信发送者以及 L 和 M 两个指标的值。原创 2023-06-01 22:48:36 · 1812 阅读 · 0 评论 -
【 华为OD机试 2023】 上班之路 是否能到达公司(C++ Java JavaScript Python)
其中我们会限制_Jungle_拐弯的次数,同时_Jungle_可以清除给定个数的路障,现在你的任务是计算_Jungle_是否可以从家里出发到达公司。输入的第一行为两个整数t,c(0 ≤ t,c ≤ 100),t代表可以拐弯的次数,c代表可以清除的路障个数。输入的第二行为两个整数n,m(1 ≤ n,m ≤ 100),代表地图的大小。生活在美丽的蓝鲸城,大马路都是方方正正,但是每天马路的封闭情况都不一样。2、支持破壁,即清除障碍,但是最多只能破壁c次数。1)”.” — 空地,可以达到;4)”T” — 公司.原创 2023-05-25 22:39:02 · 2057 阅读 · 0 评论 -
【 华为OD机试 2023】 统一限载货物数最小值(C++ Java JavaScript Python)
货物由不同供货商从各地发来,各地的货物是依次进站,然后小明按照卸货顺序依次装货到中转车,一个供货商的货只能装到一辆车上,不能拆装,但是一辆车可以装多家供货商的货;中转车的限载货物量由小明统一指定,在完成货物中转的前提下,请问中转车的统一限载货物数最小值为多少。货物1和货物4为干货,由2辆干货中转车中转,每辆车运输一个货物,限载为3。货物2和货物3为湿货,由2辆湿货中转车中转,每辆车运输一个货物,限载为6。货物2、货物3、货物4为湿货,由1辆湿货中转车中转,限载为16。中转车最多跑一趟仓库。原创 2023-05-25 22:39:01 · 2101 阅读 · 0 评论 -
【 华为OD机试 2023】 微服务的集成测试(C++ Java JavaScript Python)
现在有n个容器服务,服务的启动可能有一定的依赖性(有些服务启动没有依赖),其次服务自身启动加载会消耗一些时间。(不会出现环),若想对任意一个服务i进行集成测试(服务i自身也需要加载),求最少需要等待多少时间。最后输入 k 表示计算需要等待多少时间后可以对服务 k 进行。之后的 n 行表示服务启动的依赖关系以及自身启动加载耗时。最少需要等待多少时间(s)后可以对服务 k 进行集成测试。其中 1原创 2023-05-25 22:38:30 · 2141 阅读 · 0 评论 -
【 华为OD机试 2023】 箱子之字形摆放(C++ Java JavaScript Python)
输入一行字符串,通过空格分隔,前面部分为字母或数字组成的字符串str,表示箱子;当遇到 i % n ==0时,变换公式为:行数 = n - 1 - (i%n),当遇到 i%n==0时,再变换公式为:行数 = i % n,D 第4位(1,1) 3- 1- (4%3)D 第3位(2,1) 3-1- (3%3)D 第5位(0,1) 3-1-(5%3)行数 = n - 1 - (i%n),初始时,用公式:行数 = i % n,A 第0为(0,0) 行0%3。B 第1位(1,0) 行1%3。原创 2023-05-25 22:37:59 · 2013 阅读 · 0 评论 -
【 华为OD机试 2023】 最大连续文件之和 区块链文件转储系统(C++ Java JavaScript Python)
区块链底层存储是一个链式文件系统,由顺序的N个文件组成,每个文件的大小不一,依次为F1,F2,…云平台考虑将区块链按文件转储到廉价的SATA盘,只有连续的区块链文件才能转储到SATA盘上,且转储的文件之和不能超过SATA盘的容量。其中 1 ≤ n ≤ 100000,1 ≤ Fi ≤ 500。本质上就是求解连续子数组的和,如果满足最接近最大值M,则输出这个连续子数组。第一行为SATA盘容量M,1000 ≤ M ≤ 1000000。假设每块SATA盘容量为M,求能转储的最大连续文件之和。原创 2023-05-25 22:36:51 · 2047 阅读 · 0 评论 -
【 华为OD机试 2023】 最大平分数组(C++ Java JavaScript Python)
给定一个数组nums,可以将元素分为若干个组,使得每组和相等,求出满足条件的所有分组中,最大的平分组个数。给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。数组中可能存在几组连续子序列,组内的连续子序列互不相交且有相同的和。4 个子集(5,1),(5,1),(5,1),(2,2,2)2 个子集(5, 1, 5,1),(2,2, 2,5,1)4 个子集(5),(1,4),(2,3),(2,3)2 个子集(5, 1, 4),(2,3, 2,3)原创 2023-05-25 22:36:15 · 2123 阅读 · 0 评论 -
【 华为OD机试 2023】 最多等和不相交连续子序列(C++ Java JavaScript Python)
如果不考虑复杂度,使用两个for循环来暴力求解所有的连续子序列,因为长度只有1000个。给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。数组中可能存在几组连续子序列,组内的连续子序列互不相交且有相同的和。这样最后得到的不相交区间数量count,就是最大不相交区间数量。第一行是一个整数M,表示满足要求的最多的组内子序列的数目。四个子序列的第一个元素和最后一个元素的下标分别为。求一组连续子序列,组内子序列的数目最多。的连续子序列的区间统计在一起。原创 2023-05-25 22:34:21 · 2146 阅读 · 0 评论 -
【 华为OD机试 2023】 最快到达医院的方法(C++ Java JavaScript Python)
新型冠状病毒疫情的肆虐,使得家在武汉的大壮不得不思考自己家和附近定点医院的具体情况。分别是到达A医院的距离,到达B医院的距离,计程车平均速度,上车等待时间,步行速度。经过一番调查,大壮明白了距离自己家最近的定点医院有两家。由于武汉封城,公交停运,私家车不能上路,交通十分不便。一行,计程车(Taxi)、步行(Walk)、相等(Same)给出X,Y,M,L,N的数据,请问大壮到达哪家医院最快?原创 2023-05-25 22:35:04 · 2044 阅读 · 0 评论 -
【 华为OD机试 2023】猜字谜(C++ Java JavaScript Python)
请你写一个程序帮忙在谜底库中找到正确的谜底。谜面是多个单词,都需要找到对应的谜底,如果找不到的话,返回”not found”小王设计了一个简单的猜字谜游戏,游戏的谜面是一个错误的单词,比如nesw,玩家需要猜出谜底库中正确的单词。两个字符串变为数组后进行排序,如果排序后的数组一致,则表示变序后一致。:将两个字符串去重后加入列表中,如果两个列表一致,则表示去重后一致。直接对谜底和谜面单词进行去重+字典序排序,然后对比即可。原创 2023-05-25 22:33:15 · 2153 阅读 · 0 评论 -
【 华为OD机试 2023】端口合并(C++ Java JavaScript Python)
因此,建议使用while循环,并将初始条件设置为true,只要有任何一次合并,就将flag设为true。然后发现【4,2,1】与【2,3,4,6,9】存在2和4 相同,最后合并成【1,2,3,4,6,9】【6,3,4】与【3,6,9,2】存在3和6是相同的,可以合并成为【2,3,4,6,9】如果端口组间存在2个及以上不同端口相同,则认为这2个端口组互相关联,可以合并。【2,3,1】与【4,3,2】存在2和3是相同的,所以可以合并。第一行输入端口组个数M,再输入M行,每行逗号分隔,代表端口组。原创 2023-05-24 16:50:07 · 2158 阅读 · 0 评论 -
【 华为OD机试 2023】工单调度策略(C++ Java JavaScript Python)
假设华为和运营商A签订了运维合同,部署了一套调度系统,只有1个外线工程师(FME),每个工单根据问题严重程度会给一个评分,在SLA时间内完成修复的工单,华为获得工单评分对应的积分,超过SLA完成的工单不获得积分,但必须完成该工单。假设从某个调度时刻开始,当前工单数量为N,不会产生新的工单,每个工单处理修复耗时为1小时,请设计你的调度策略,完成业务目标。当小区通信设备上报警时,系统会自动生成待处理的工单,华为工单调度系统需要根据不同的策略,调度外线工程师(第一行为一个整数N,表示工单的数量。原创 2023-05-24 16:49:33 · 2233 阅读 · 0 评论 -
【 华为OD机试 2023】荒地建设电站 区域发电量统计(C++ Java JavaScript Python)
其中不能建设的区域发电量为0kw,可以发电的区域根据光照,地形等给出了每平方公里年发电量x千瓦。第一行输入为调研的地区长,宽,以及准备建设的电站【长宽相等,为正方形】的边长最低要求的发电量。调研的区域大小为长2宽5的矩形,我们要建设的电站的边长为2,建设电站最低发电量为6.祖国西北部有一片大片荒地,其中零星的分布着一些湖泊,保护区,矿区;我们希望能够找到其中集中的矩形区域建设电站,能够获得良好的收益。长宽为2的正方形满足发电量大于等于6的区域有4个。输出为这样的区域有多少个。原创 2023-05-24 16:49:30 · 2140 阅读 · 0 评论 -
【 华为OD机试 2023】积木最远距离(C++ Java JavaScript Python)
小华随机拿一些积木挨着排成一排,请小薇找到这排积木中数字相同且所处位置最远的2块积木块,计算他们的距离,小薇请你帮忙替她解决这个问题。相同数字的积木的位置最远距离;如果所有积木数字都不相同,请返回-1。他们有很多积木,每个积木块上都有一个数字,积木块上的数字可能相同。接下来N行每行一个数字,表示小华排成一排的积木上数字。第一行输入为N,表示小华排成一排的积木总数。小华和小薇一起通过玩积木游戏学习数学。原创 2023-05-24 16:48:59 · 461 阅读 · 0 评论 -
【 华为OD机试 2023】实力差距最小总和、最佳对手(C++ Java JavaScript Python)
首先需要将输入的数据进行处理,得到每个队伍的实力值,并按照从小到大的顺序进行排序。然后需要定义两个数组pairs和min_sum,其中pairs[i]表示匹配前i个队伍所能得到的最大的pair数(即匹配的队伍对数),min_sum[i]表示匹配前i个队伍所能得到的最小的实力差距和。最后,如果pairs[n]等于0,则说明没有队伍可以匹配,输出-1,否则输出min_sum[n]。给定n个队伍的实力值,对其进行两两实力匹配,两支队伍实例差距在允许的最大差距d内,则可以匹配。匹配后,各组对战的实力差值的总和。原创 2023-05-24 16:48:25 · 499 阅读 · 0 评论 -
【 华为OD机试 2023】新员工座位 统计友好度最大值(C++ Java JavaScript Python)
遍历工位序列,如果当前位置是1,左边连续老员工数加1;如果当前位置是2,左边连续老员工数清零;如果当前位置是0,从当前位置往右遍历,如果右边有老员工,右边连续老员工数加1,否则停止遍历。计算当前空置位置的友好度,更新最大友好度。Fn组成,Fi值为0、1或2。其中0代表空置,1代表有人,2代表障碍物。1原创 2023-05-24 16:46:40 · 719 阅读 · 0 评论 -
【 华为OD机试 2023】新员工座位(C++ Java JavaScript Python)
Fn组成,Fi值为0、1或2。其中0代表空置,1代表有人,2代表障碍物。1原创 2023-05-24 16:46:05 · 542 阅读 · 0 评论 -
【 华为OD机试 2023】信号发射和接收(C++ Java JavaScript Python)
有一个二维的天线矩阵,每根天线可以向其他天线发射信号,也能接收其他天线的信号,为了简化起见,我们约定每根天线只能向东和向南发射信号,换言之,每根天线只能接收东向或南向的信号。有一个二维的天线矩阵,每根天线可以向其他天线发射信号,也能接收其他天线的信号,为了简化起见,我们约定每根天线只能向东和向南发射信号,换言之,每根天线只能接收东向或南向的信号。给一个m行n列的矩阵(二维数组),矩阵存储各根天线的高度,求出每根天线可以接收到多少根其他天线的信号,结果输出到m行n列的矩阵(二维矩阵)中。原创 2023-05-24 16:46:44 · 471 阅读 · 0 评论 -
【 华为OD机试 2023】字符串重新排序(C++ Java JavaScript Python)
一行字符串,每个字符取值范围:[a-zA-z0-9]以及空格,字符串长度范围:[1,1000]1、单词内部调整:对每个单词字母重新按字典序排序。请输出处理后的字符串,每个单词以一个空格分隔。1)统计每个单词出现的次数,并按次数降序排列。输出处理后的字符串,每个单词以一个空格分隔。先进行单词内部调整,然后再进行单词间顺序。3)次数和单词长度均相同,按字典升序排列。2)次数相同,按单词长度升序排列。原创 2023-05-24 16:45:55 · 473 阅读 · 0 评论 -
【 华为OD机试 2023】最多颜色的车辆(C++ Java JavaScript Python)
第二个滑窗相较于第一个滑窗而言,失去了0,新增了1,因此我们不需要重新统计第二个滑窗内部各种颜色的数量,只需要在第一个滑窗的统计结果基础上,减少0颜色数量1个,增加1颜色数量1个即可。在一个狭小的路口,每秒只能通过一辆车,假设车辆的颜色只有 3 种,找出 N 秒内经过的最多颜色的车辆数量。[0,1,1,2] 代表4 秒钟通过的车辆颜色分别是 0 , 1 , 1 , 2。我们可以利用相邻两个滑窗的差异比较,来避免重复的计算。输出指定时间窗内经过的最多颜色的车辆数量。第一行输入的是通过的车辆颜色信息。原创 2023-05-24 16:44:12 · 470 阅读 · 0 评论 -
【华为OD机试 2023】挑选字符串(C++ Java JavaScript Python)
以B中的每个字符在A中去找,找到了就把A的这个字符设置一个标志不准用。直到所有字符都可以找到。直到找不到满足条件的字符位置。给定a-z,26个英文字母小写字符串组成的字符串A和B,其中A可能存在重复字母,B不会存在重复字母,现从字符串A中按规则挑选一些字母可以组成字符串B。输出一行,包含一个数字,表示最多可以同时从a中挑选多少组能组成b的字符串,行末没有多余空格。输入为2行,第一行输入字符串a,第二行输入字符串b,行首行尾。原创 2023-05-22 12:31:49 · 407 阅读 · 0 评论 -
【华为OD机试 2023】投篮大赛(C++ Java JavaScript Python)
+”-记录加-9+5=14,记录现在是[5,-2, -4, 9, 5, 14].“+”-记录加-4+9=5,记录现在是[5,-2, -4, 9, 5].“C”-使前一次得分的记录无效并将其移除,记录现在是[5,-2].“D”-记录加2*-2=4,记录现在是[5,-2, -4].“9”-记录加9,记录现在是[5,-2, -4, 9].“-2”-记录加-2,记录现在是[5,-2]“4”-记录加4,记录现在是[5,-2,4]“5”-记录加5,记录现在是[5]比赛开始时,记录是空白的。输入为一个[字符串数组]原创 2023-05-22 12:31:10 · 502 阅读 · 0 评论 -
【华为OD机试 2023】完美走位(C++ Java JavaScript Python)
假设玩家每按动一次键盘,游戏任务会向某个方向移动一步,如果玩家在操作一定次数的键盘并且各个方向的步数相同时,此时游戏任务必定会回到原点,则称此次走位为完美走位。在第一人称射击游戏中,玩家通过键盘的A、S、D、W四个按键控制游戏人物分别向左、向后、向右、向前进行移动,从而完成走位。题目要求,保持W,A,S,D字母个数平衡,即相等,如果不相等,可以从字符串中选取一段连续子串替换,来让字符串平衡。字符串长度12,W,A,S,D平衡的话,则每个字母个数应该是3个,而现在W,A,S各有4个,也就是说各超了1个。原创 2023-05-22 12:30:35 · 513 阅读 · 0 评论 -
【华为OD机试 2023】无向图染色(C++ Java JavaScript Python)
给一个[无向图]染色,可以填红黑两种颜色,必须保证相邻两个节点不能同时为红色,输出有多少种不同的染色方案?数据范围:1原创 2023-05-22 12:29:51 · 508 阅读 · 0 评论 -
【华为OD机试 2023】新学校选址(C++ Java JavaScript Python)
第二行: 一组整数 m 取值范围 [0, 10000 ] ,表示每户家庭的位置,所有家庭的位置都不相同。第一行: 整数 n 取值范围 [1 ,1000 ],表示有 n户家庭。假设学校和所有学生家都走在一条直线之上,请问学校建立在什么位置,考虑到学生上学安全问题,需要所有学生家到学校的距离最短。为了解新学期学生暴涨的问题,小乐村要建立所新学校,能使得到学校到各个学生家的距离和最短。如果有多个位置,则输出最小的。一个整数,确定的学校的位置。当以0和40为位置点。以10和30 为位置点。原创 2023-05-22 12:27:34 · 489 阅读 · 0 评论 -
【华为OD机试 2023】星际篮球争霸赛(C++ Java JavaScript Python)
在星球争霸篮球赛对抗赛中,最大的宇宙战队希望每个人都能拿到MVP,MVP的条件是单场最高分得分获得者。比如 [1,1,1,1] 可以拆分为[1] [1] [1] [1] 或 [1,1] [1,1]可以并列所以宇宙战队决定在比赛中尽可能让更多队员上场,并且让所有得分的选手得分都相同,第二行为 t 个数字,代表每一分钟的得分 p, 1 ≤ p ≤ 50。然而比赛过程中的每1分钟的得分都只能由某一个人包揽。输出有得分的队员都是MVP时,最少得MVP得分。然后在所有的可能拆分条件下,子数组的和最小。原创 2023-05-22 12:27:58 · 143 阅读 · 0 评论 -
【华为OD机试 2023】星际篮球争霸赛(C++ Java JavaScript Python)
在星球争霸篮球赛对抗赛中,最大的宇宙战队希望每个人都能拿到MVP,MVP的条件是单场最高分得分获得者。比如 [1,1,1,1] 可以拆分为[1] [1] [1] [1] 或 [1,1] [1,1]可以并列所以宇宙战队决定在比赛中尽可能让更多队员上场,并且让所有得分的选手得分都相同,第二行为 t 个数字,代表每一分钟的得分 p, 1 ≤ p ≤ 50。然而比赛过程中的每1分钟的得分都只能由某一个人包揽。输出有得分的队员都是MVP时,最少得MVP得分。然后在所有的可能拆分条件下,子数组的和最小。原创 2023-05-22 12:25:39 · 683 阅读 · 0 评论 -
【华为OD机试 2023】羊、狼、农夫过河(C++ Java JavaScript Python)
分支2.2:如果狼的数量大于船的容量,则第一次应该运送X-1只狼,然后再运送X只羊。羊、狼、农夫都在岸边,当羊的数量小于狼的数量时,狼会攻击羊,农夫则会损失羊。 分支2.1:如果狼的数量小于船的容量,则可以一次性运走所有的狼。第一行输入为M,N,X, 分别代表羊的数量,狼的数量,小船的容量。备注:农夫在或农夫离开后羊的数量大于狼的数量时狼不会攻击羊。分支1:如果初始情况下羊的数量少于狼的数量,则无解。在河的两岸都需要满足羊的数量不能少于狼的数量。第一,羊的数量不能少于狼的数量。原创 2023-05-22 12:25:43 · 536 阅读 · 0 评论 -
【华为OD机试 2023】异常的打卡记录(C++ Java JavaScript Python)
第二步是对同一员工下设备号一致的打卡记录进行两两对比,判断是否异常。需要注意的是,一旦有两条打卡记录对比异常了,其他打卡记录也需要和这两条异常记录对比。注册设备号),返回其中异常的打卡记录(按输入顺序输出)。考勤记录是分析和考核职工工作时间利用情况的原始依据,也是计算职工工资的原始依据,为了正确地计算职工工资和监督工资基金使用情况,公司决定对员工的手机打卡记录进行异常排查。在保存异常打卡记录时,需要记录其输入时的索引,以便按照输入顺序输出异常记录。之后的N行为打卡记录,每一行为一条打卡记录。原创 2023-05-22 12:20:35 · 515 阅读 · 0 评论 -
【华为OD机试 2023】真正的密码(C++ Java JavaScript Python)
从排序后的最后一个字符串开始,不断截取其子串,即闭区间[0, str.length-2], [0, str.length-3], [0, str.length-4], …在所有潜在密码中最长的是真正的密码,如果有多个长度相同的真正的密码,那么取字典序最大的为唯一的真正的密码,求唯一的真正的密码。在一行中输入一个字符串数组,如果其中一个字符串的所有以索引0开头的子串在数组中都有,那么这个字符串就是潜在密码,然后这5个字串同样都在输入的数组中,所有hello是潜在的密码。检查字典序,ninja是唯一真正密码。原创 2023-05-22 12:20:32 · 505 阅读 · 0 评论 -
【华为OD机试 2023】整理扑克牌(C++ Java JavaScript Python)
葫芦的话比较特殊:3张+ 2张,例如用例2 输出结果不是4 4 4 3 3 3。因为4 4 4 3 3是一个葫芦 ,更大。第一行为空格分隔的N个正整数,每个整数取值范围[1,13],N的取值范围[1,1000]首先,将给定牌中,炸弹,三张,对子,单子先统计出来,即先不处理葫芦。经重新排列后的扑克牌数字列表,每个数字以空格分隔。原创 2023-05-21 16:09:18 · 524 阅读 · 0 评论 -
【华为OD机试 2023】总最快检测效率(C++ Java JavaScript Python)
当所有的志愿者都分配完后,如果高效率的采样员可以增加至少10%的效率,而剥夺低效率采样员的志愿者只会导致他们的效率下降20%以上,则应该将志愿者从低效率的采样员那里转移到高效率的采样员那里。采样员效率浮动规则:采样员需要一名志愿者协助组织才能发挥正常效率,在此基础上,每增加一名志愿者,效率提升1M,最多提升3M;2、志愿者数量不少于采样员,如果采样员:志愿者 的比例,超过了1:4,那么超出4倍采样员范围的志愿者将没有效率提升作用,因此有效志愿者数量最多是四倍的采样员数量。1、志愿者数量少于采样员。原创 2023-05-21 10:14:21 · 457 阅读 · 0 评论 -
【华为OD机试 2023】组合出合法最小数(C++ Java JS Python)
按照前面的规则将数组元素排序,排序后,检查数组头元素是否以“0”开头,如果是的话,则开始遍历数组后面的元素,直到找到一个不以“0”开头的元素x,然后将元素x取出,并插入到数组头部。一个数组,数组不为空,数组里面都是代表非负整数的字符串,可以是0开头,例如:\["13", "045", "09", "56"\]。给一个数组,数组里面哦都是代表非负整数的字符串,将数组里所有的数值[排列组合]拼接起来组成一个数字,输出拼接成的最小的数字。- 如果最终结果是多位数字,要优先选择输出不是“0”开头的最小数字。原创 2023-05-21 10:09:59 · 515 阅读 · 0 评论