
最新华为OD机考真题
文章平均质量分 82
华为最新OD机考真题,后续会持续更新,目前最新机考采用的是E卷,所以会优先更新E卷题目及详细题解,每道题解会给出Python&Java&javaScript&C++&C解答详细方法,做完题目,根据自己的理解能够自己手动敲出来,通过机试轻松拿下,A,B,C,D卷也会更新在此专栏!
普通网友
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【OD】【E卷】【真题】【200分】项目排期(Python&Java&JavaScript&C++&C)
共有两位员工,其中一位分配需求 6 2 7 7 3 2 1共需要28天完成,另一位分配需求 9 3 11 4 共需要27天完成,故完成所有工作至少需要28天。项目组共有N个开发人员,项目经理接到了M个独立的需求,每个需求的工作量不同,且每个需求只能由一个开发人员独立完成,不能多人合作。给定一系列任务的工作量和一定数量的工人,计算完成所有任务所需的最少天数,使得每个工人分配到的任务总工作量不超过这个天数。例如:X1 X2 X3 …表示共有M个需求,每个需求的工作量分别为X1天,X2天…和二分查找结合来解决。原创 2024-10-21 15:33:20 · 880 阅读 · 0 评论 -
【OD】【E卷】【真题】【200分】最长子字符串的长度(Python&Java&JavaScript&C++&C)
最长子字符串是 “oxdolxl”,由于是首尾连接在一起的,所以最后一个 ‘x’ 和开头的 'l’是连接在一起的,此字符串包含 2 个 ‘l’ ,2个 ‘o’ ,2个 ‘x’。给你一个字符串 s,字符串s首尾相连成一个环形 ,请你在环中找出’l’、‘o’、‘x’ 字符都恰好出现了偶数次最长。说明:最长子字符串之一是 “alolob”,它包含 ‘l’,'o’各 2 个,以及 0 个 ‘x’。字符串 “bcbcbc” 本身就是最长的,因为 ‘l’、‘o’、‘x’ 都出现了 0 次。原创 2024-10-21 15:27:50 · 682 阅读 · 0 评论 -
【OD】【E卷】【真题】【200分】最佳对手实力差距最小总和(Python&Java&JavaScript&C++&C)
游戏里面,队伍通过匹配实力相近的对手进行对战。但是如果匹配的队伍实力相差太大,对于双方游戏体验都不会太好。给定n个队伍的实力值,对其进行两两实力匹配,两支队伍实例差距在允许的最大差距d内,则可以匹配。要求在匹配队伍最多的情况下匹配出的各组实力差距的总和最小。第一行,n,d。队伍个数n。允许的最大实力差距d。第二行,n个队伍的实力值空格分割。匹配后,各组对战的实力差值的总和。若没有队伍可以匹配,则输出-1。输入输出说明输入输出说明输入输出说明给定 个队伍的实力值和一个允许的最大实力差距 ,要求原创 2024-10-21 15:22:48 · 447 阅读 · 0 评论 -
【OD】【E卷】【真题】【200分】转骰子(Python&Java&JavaScript&C++&C)
每个面一个数字,初始为左1,右2,前3(观察者方向),后4,上5,下6,用123456表示这个状态,放置在平面上,骰子向前翻转,状态变为125643,再顺时针旋转,状态变为651243,最后向右翻转,状态变为342156。现从123456这个初始状态开始,根据输入的动作序列,计算得到最终的状态。输入一行,为只包含LRFBAC的字母序列,最大长度为50,字母可重复。骰子先向左翻转,再向右翻转回来,故还是原来的状态123456。骰子的初始状态和初始状态转动后的状态如图所示。本题没啥难度,主要就是模拟!原创 2024-10-21 15:18:11 · 346 阅读 · 0 评论 -
【OD】【E卷】【真题】【200分】中文分词模拟器(Python&Java&JavaScript&C++&C)
在这个例子中,输入的句子是 “ilovechina,thewordisbeautiful”,字典中的单词是 “i”, “love”, “china”, “ch”, “na”, “ve”, “lo”, “this”, “is”, “the”, “word”, “beauti”, “tiful”, “ful”。词库:根据外部知识库统计出来的常用词汇例:dictionary = [“i”, “love”, “china”, “lovechina”, “ilove”]首先,将字典中的每个单词插入到 Trie 中。转载 2024-10-21 15:12:49 · 617 阅读 · 0 评论 -
【OD】【E卷】【真题】【200分】战场索敌(Python&Java&JavaScript&C++&C)
如果相邻位置在地图范围内、未被访问过且不是墙壁,则将其标记为已访问,并根据其值判断是否为敌人,如果是,则将计数器count加1,并将该位置加入到栈中。接下来,我们遍历地图中的每个位置,如果该位置已经被访问过或者是墙壁,则跳过。否则,调用dfs函数计算以该位置为起点的区域中敌人的数量,如果该数量小于目标敌人数量k,则将区域数量加1。整体思路是,遍历地图中的每个位置,如果该位置未被访问过且不是墙壁,则调用dfs函数计算以该位置为起点的区域中敌人的数量,如果该数量小于目标敌人数量k,则将区域数量加1。原创 2024-10-21 15:07:31 · 461 阅读 · 0 评论 -
【OD】【E卷】【真题】【200分】宜居星球改造计划(Python&Java&JavaScript&C++&C)
column的网格,每个网格有3个值,宜居区、可改造区、死亡区,使用YES、NO、NA代替,YES表示该网格已经完成大气改造,NO表示该网格未进行改造,后期可进行改造,NA表示死亡区,不作为判断是否改造完的宜居,无法穿过;下,该区域可能存在多个宜居区,并目每个宜居区能同时在每个大阳日单位向上下左右四个方向的相邻格子进行扩散,自动将4个方向相邻的真空区改造成宜居区;请计算这个待改造区域的网格中,可改造区是否能全部成宜居区,如果可以,则返回改造的大阳日天教,不可以则返回-1。输入row * column个。原创 2024-10-21 15:02:56 · 301 阅读 · 0 评论 -
【OD】【E卷】【真题】【200分】模拟目录管理功能(Python&Java&JavaScript&C++&C)
定义一个节点类(Node),用于表示文件系统中的每个目录。该类包含路径信息和一个映射,映射存储子目录和对应的节点对象。在根目录创建一个abc的目录并进入abc目录中查看当前目录路径,输出当前路径/abc/。创建一个根节点实例,代表文件系统的根目录。功能的软件,输入一个命令序列,输出最后一条命令运行结果。命令行数限制100行以内,目录名称限制10个字符以内。循环读取输入直到结束,并在结束时输出最后的路径信息。读取用户输入,根据输入的命令和参数执行相应的操作。输出最后一条命令运行结果字符串。原创 2024-10-21 14:57:25 · 528 阅读 · 0 评论 -
【OD】【E卷】【真题】【200分】可以处理的最大任务数(Python&Java&JavaScript&C++&C)
通过。原创 2024-10-21 14:52:44 · 464 阅读 · 0 评论 -
【OD】【E卷】【真题】【200分】打印任务排序(Python&Java&JavaScript&C++&C)
然后检查队列余下任务中有没有比A优先级更高的任务,如果有比A优先级高的任务,则将任务A放到队列尾部,否则就执行任务A的打印。本题描述了一个打印机按照一定的规则处理打印任务的场景,打印任务的优先级会影响其被打印的顺序。输入一行,为每个任务的优先级,优先级之间用逗号隔开,优先级取值范围是1~9。:打印任务时,记录下任务的初始位置,最终输出的打印顺序为任务的初始序号顺序。为3,队列中还有优先级为5的任务,优先级3任务被移到队列尾部;队列头部任务的优先级为9,最先打印,故序号为0;最后优先级为3的任务的序号为2。原创 2024-10-21 14:30:50 · 786 阅读 · 0 评论 -
【OD】【E卷】【真题】【100分】货币单位换算(Python&Java&JavaScript&C++&C)
每行记录一条金额,金额带有货币单位,格式为数字+单位,可能是单独元,或者单独分,或者元与分的组合。要求将这些货币全部换算成人民币分(fen)后进行汇总,汇总结果仅保留整数,小数部分舍弃。,题目本身不难,按照题意写好分支判断即可。记账本上记录了若干条多国货币金额,需要转换成人民币分(fen),汇总后输出。HKD与CNY的汇率关系是123:100,所以换算后,输出结果为10000。之后N行,每行表示一条货币记录,且该行只会是一种货币。第一行输入为N,N表示记录数。输出格式只有整数数字,不带小数,不带单位。原创 2024-10-21 14:23:46 · 437 阅读 · 0 评论 -
【OD】【E卷】【真题】【200分】寻找符合要求的最长子串(Python&Java&JavaScript&C++&C)
第二行为:字符串s,每个字符范围[0-9a-zA-Z],长度范围[1, 10000]第二行为:字符串s,每个字符范围[0-9a-zA-Z],长度范围[1, 10000]第一行为:要求不包含的指定字符,为单个字符,取值范围[0-9a-zA-Z]第一行为:要求不包含的指定字符,为单个字符,取值范围[0-9a-zA-Z]输出的是满足以上条件的最长子串的长度。如果没有符合条件的子串,则返回0。题目要求我们从给定的字符串。因此,满足条件的最长子串为。中,有多个子串不包含。请你找出满足该条件的。原创 2024-10-21 09:27:13 · 454 阅读 · 0 评论 -
【OD】【E卷】【真题】【100分】分苹果(Python&Java&JavaScript&C++&C)
A的要求是按照二进制加法(不进位)等分苹果,而B希望在满足A的要求下获取苹果总重量的最大值。12+5=9(1100 + 0101 = 9),B的计算规则是十进制加法,包括正常进位,B希望在满足A的情况下获取苹果重量最多。A、B两个人把苹果分为两堆,A希望按照他的计算规则等分苹果,他的计算规则是按照二进制加法计算,并且不计算进位。通过手动验证,发现其中一堆可以是{5, 6},另一堆是{3},此时B获取的总重量最大为11。输入苹果的数量和每个苹果重量,输出满足A的情况下B获取的苹果总重量。原创 2024-10-20 17:01:47 · 868 阅读 · 0 评论 -
【OD】【E卷】【真题】【100分】智能成绩表(Python&Java&JavaScript&C++&C)
排序科目不存在,按总分排序 , fangfang 和 minmin 总分相同,按姓名的字典序顺序, fangfang 排在前面。第 3 行开始的 n 行,每行包含一个学生的姓名和该生 m 个科目的成绩(空格隔开)小明来到学校当老师,需要将学生按考试总分或单科分数进行排名,你能帮帮他吗?第n+2行,输入用作排名的科目名称。若科目不存在,则按总分进行排序。后的学生名字,空格隔开。第 1 行输入两个整数,学生人数 n 和科目数量 m。第 2 行输入 m 个科目名称,彼此之间用空格隔开。原创 2024-10-20 16:06:58 · 409 阅读 · 0 评论 -
【OD】【E卷】【真题】【100分】新工号中数字的最短长度(Python&Java&JavaScript&C++&C)
这是一个数学问题,我们需要找到一个最小的数字长度Z,使得26的Y次方乘以10的Z次方大于等于X。这是因为26个小写字母可以组成26的Y次方种可能,10个数字可以组成10的Z次方种可能,所以总共可以组成26的Y次方乘以10的Z次方种工号。,那么字母部分可以生成的不同组合数为 2 6 Y 26^Y 26Y(因为每个位置可以是26个字母中的一个)。但是过长的工号会增加同事们的记忆成本,现在给出新工号至少需要分配的人数X和新工号中字母的长度Y,求新工号中数字的最短长度Z。个不同的工号,那么数字部分的长度。原创 2024-10-20 15:37:15 · 682 阅读 · 0 评论