- 博客(1071)
- 收藏
- 关注

原创 2025华为OD机试题库目录【E卷+A卷+B卷+C卷+D卷】(JAVA、Python、C++、JS)
1:进入机考网页之后,如果链接上写着【2023.Q1 A卷】,就表示是2023年的Q1题库(4:订阅专栏后,后面更新的答案都可以查看。以后更新的题目也会放到这个专栏里。,如果时间紧迫,建议直接刷2023年新题。5:如果对题解有问题,私信我解答。2:2022年的题库。
2023-05-19 11:59:21
22146
10

原创 华为OD机试真题-优雅子数组(Java Python C++)
如果一个数组中出现次数最多的元素出现大于等于K次,被称为K -优雅数组,k也可以被称为优雅阈值。例如,数组1,2,3,1、2,3,1,它是一个3-优雅数组,因为元素1出现次数大于等于3次,数组1,2,3,1,2就不是一个3-优雅数组,因为其中出现次数最多的元素是1和2,只出现了2次。给定一个数组A和k,请求出A有多少子数组是k-优雅子数组。第一行输入两个数字,以空格隔开,含义是: A数组长度 k值。向右遍历的过程中,将当前元素加入哈希表并更新出现次数。子数组是数组中一个或多个连续元素组成的数组。
2023-05-07 12:51:28
201
原创 华为OD机试 Python【词汇匹配与统计】
首先读取需要分词的句子和词库,并将句子按照标点符号分割成多个独立句子,将词库中的词汇存入HashSet中以便快速查找。然后依次处理每个句子,对于每个句子,从长到短截取子串,优先匹配最长的词汇。第二行输入中文词库 “i,love,china,ch,na,ve,lo,this,is,this,word”,词库长度限制:1 < length < 100000。给定一个连续不包含空格的字符串,该字符串仅包含英文小写字母及英文标点符号(逗号、分号、句号),同时给定词库,对该字符串进行精确分词。
2025-04-01 08:33:07
41
原创 华为OD机试 C++【词汇匹配与统计】
首先读取需要分词的句子和词库,并将句子按照标点符号分割成多个独立句子,将词库中的词汇存入HashSet中以便快速查找。然后依次处理每个句子,对于每个句子,从长到短截取子串,优先匹配最长的词汇。第二行输入中文词库 “i,love,china,ch,na,ve,lo,this,is,this,word”,词库长度限制:1 < length < 100000。给定一个连续不包含空格的字符串,该字符串仅包含英文小写字母及英文标点符号(逗号、分号、句号),同时给定词库,对该字符串进行精确分词。
2025-04-01 08:32:30
37
原创 华为OD机试 Java【词汇匹配与统计】
首先读取需要分词的句子和词库,并将句子按照标点符号分割成多个独立句子,将词库中的词汇存入HashSet中以便快速查找。然后依次处理每个句子,对于每个句子,从长到短截取子串,优先匹配最长的词汇。第二行输入中文词库 “i,love,china,ch,na,ve,lo,this,is,this,word”,词库长度限制:1 < length < 100000。给定一个连续不包含空格的字符串,该字符串仅包含英文小写字母及英文标点符号(逗号、分号、句号),同时给定词库,对该字符串进行精确分词。
2025-04-01 08:31:43
25
原创 华为OD机试 Java【计算合法时间】
警察在侦破一个案件时,得到了线人给出的可能犯罪时间,形如 “HH:MM” 表示的时刻。根据警察和线人的约定,为了隐蔽,该时间是修改过的,解密规则为:利用当前出现过的数字,构造下一个距离当前时间最近的时刻,则该时间为可能的犯罪时间。每个出现数字都可以被无限次使用。例如,“01:35”和“11:08”是合法的,“1:35”和“11:8”是不合法的。形如HH:SS的字符串,表示推理处理的犯罪时间。1.可以保证现任给定的字符串一定是合法的。形如HH:SS字符串,表示原始输入。2.最近的时刻可能在第二天。
2025-03-27 08:32:57
21
原创 华为OD机试 C++【计算合法时间】
警察在侦破一个案件时,得到了线人给出的可能犯罪时间,形如 “HH:MM” 表示的时刻。根据警察和线人的约定,为了隐蔽,该时间是修改过的,解密规则为:利用当前出现过的数字,构造下一个距离当前时间最近的时刻,则该时间为可能的犯罪时间。每个出现数字都可以被无限次使用。例如,“01:35”和“11:08”是合法的,“1:35”和“11:8”是不合法的。形如HH:SS的字符串,表示推理处理的犯罪时间。1.可以保证现任给定的字符串一定是合法的。形如HH:SS字符串,表示原始输入。2.最近的时刻可能在第二天。
2025-03-27 08:31:58
28
原创 华为OD机试 Python【英文输入法】
首先从输入的语句中提取所有英文单词并去除标点符号,然后检查这些单词中哪些是以给定前缀开头的。如果没有找到匹配的单词,则输出前缀;否则按空格分隔输出匹配的单词序列。依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列,如果联想不到,请输出用户输入的单词前缀。3、输出的单词序列,不能有重复单词,且只能是英文单词,不能有标点符号。输出符合要求的单词序列或单词前缀,存在多个时,单词之间以单个空格分割。2、缩略形式如”don’t”,判定为两个单词,”don”和”t”
2025-03-26 08:32:58
44
原创 华为OD机试 C++【英文输入法】
主管期望你来实现英文输入法单词联想功能。需求如下:依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列,如果联想不到,请输出用户输入的单词前缀。注意:1、英文单词联想时,区分大小写2、缩略形式如”don’t”,判定为两个单词,”don”和”t”3、输出的单词序列,不能有重复单词,且只能是英文单词,不能有标点符号输入描述输入为两行。首行输入一段由英文单词word和标点符号组成的语句str;接下来一行为一个英文单词前缀pre。输出描述输出符合要求的单
2025-03-26 08:32:12
23
原创 华为OD机试 Java【英文输入法】
首先从输入的语句中提取所有英文单词并去除标点符号,然后检查这些单词中哪些是以给定前缀开头的。如果没有找到匹配的单词,则输出前缀;否则按空格分隔输出匹配的单词序列。依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列,如果联想不到,请输出用户输入的单词前缀。3、输出的单词序列,不能有重复单词,且只能是英文单词,不能有标点符号。输出符合要求的单词序列或单词前缀,存在多个时,单词之间以单个空格分割。2、缩略形式如”don’t”,判定为两个单词,”don”和”t”
2025-03-26 08:31:36
11
原创 华为OD机试 Python【最大运输利润计算】
使用双重循环枚举货物 A 和货物 B 的数量组合,计算每种组合的总重量和总利润。当组合的总重量恰好等于货车的额定载重时,记录该组合的总利润,并不断更新最高利润值。老李每次发车时载货总重量刚好为货车额定的载货重量 wt,车上必须同时有货物 A 和货物 B ,货物A、B不可切割。第四列输入为货物 A 的单件运费利润 pa,0 < pa < 1000。第五列输入为货物 B 的单件运费利润 pb,0 < pb < 1000。第二列输入为货物 B 的单件重量 wb,0 < wb < 10000。
2025-03-24 08:33:42
31
原创 华为OD机试 Java【最大运输利润计算】
使用双重循环枚举货物 A 和货物 B 的数量组合,计算每种组合的总重量和总利润。当组合的总重量恰好等于货车的额定载重时,记录该组合的总利润,并不断更新最高利润值。老李每次发车时载货总重量刚好为货车额定的载货重量 wt,车上必须同时有货物 A 和货物 B ,货物A、B不可切割。第四列输入为货物 A 的单件运费利润 pa,0 < pa < 1000。第五列输入为货物 B 的单件运费利润 pb,0 < pb < 1000。第二列输入为货物 B 的单件重量 wb,0 < wb < 10000。
2025-03-24 08:32:38
20
原创 华为OD机试 C++【最大运输利润计算】
使用双重循环枚举货物 A 和货物 B 的数量组合,计算每种组合的总重量和总利润。当组合的总重量恰好等于货车的额定载重时,记录该组合的总利润,并不断更新最高利润值。老李每次发车时载货总重量刚好为货车额定的载货重量 wt,车上必须同时有货物 A 和货物 B ,货物A、B不可切割。第四列输入为货物 A 的单件运费利润 pa,0 < pa < 1000。第五列输入为货物 B 的单件运费利润 pb,0 < pb < 1000。第二列输入为货物 B 的单件重量 wb,0 < wb < 10000。
2025-03-24 08:31:54
21
原创 华为OD机试 C++【单人卡牌游戏的最优出牌策略】
有这么一款单人卡牌游戏,牌面由颜色和数字组成,颜色为红、黄、蓝、绿中的一种,数字为0-9中的一个。游戏开始时玩家从手牌中选取一张卡牌打出,接下来如果玩家手中有和他上一次打出的手牌颜色或者数字相同的手牌,他可以继续将该手牌打出,直至手牌打光或者没有符合条件可以继续打出的手牌。如此循环通过这种方式,可以遍历所有可能的出牌序列,并找到打出最多手牌的最优策略。第二行为对应的每张手牌的颜色,用r y b g这4个字母分别代表4种颜色,字母也由空格分隔。现给定一副手牌,请找到最优的出牌策略,使打出的手牌最多。
2025-03-21 08:32:02
28
原创 华为OD机试 C++【单人卡牌游戏的最优出牌策略】
有这么一款单人卡牌游戏,牌面由颜色和数字组成,颜色为红、黄、蓝、绿中的一种,数字为0-9中的一个。游戏开始时玩家从手牌中选取一张卡牌打出,接下来如果玩家手中有和他上一次打出的手牌颜色或者数字相同的手牌,他可以继续将该手牌打出,直至手牌打光或者没有符合条件可以继续打出的手牌。如此循环通过这种方式,可以遍历所有可能的出牌序列,并找到打出最多手牌的最优策略。第二行为对应的每张手牌的颜色,用r y b g这4个字母分别代表4种颜色,字母也由空格分隔。现给定一副手牌,请找到最优的出牌策略,使打出的手牌最多。
2025-03-21 08:31:21
22
原创 华为OD机试 Python【人力资源安排】
输入为 M 和 requirements,M 表示需求开发时间要求,requirements 表示每个需求工作量大小,N 为 requirements长度,当前部门需要完成 N 个需求,需求用 requirements 表述,requirements[i] 表示第 i 个需求的工作量大小,单位:人月。目前要求每个月最多有2个需求开发,并且每个月需要完成的需求不能超过部门人力。这部分需求需要在 M 个月内完成开发,进行人力安排后每个月人力时固定的。对于每一组测试数据,输出部门需要人力需求,行末无多余的空格。
2025-03-19 08:36:33
27
原创 华为OD机试 C++【需求开发人力安排】
输入为 M 和 requirements,M 表示需求开发时间要求,requirements 表示每个需求工作量大小,N 为 requirements长度,当前部门需要完成 N 个需求,需求用 requirements 表述,requirements[i] 表示第 i 个需求的工作量大小,单位:人月。目前要求每个月最多有2个需求开发,并且每个月需要完成的需求不能超过部门人力。这部分需求需要在 M 个月内完成开发,进行人力安排后每个月人力时固定的。对于每一组测试数据,输出部门需要人力需求,行末无多余的空格。
2025-03-19 08:35:53
19
原创 华为OD机试 Java【需求开发人力安排】
输入为 M 和 requirements,M 表示需求开发时间要求,requirements 表示每个需求工作量大小,N 为 requirements长度,当前部门需要完成 N 个需求,需求用 requirements 表述,requirements[i] 表示第 i 个需求的工作量大小,单位:人月。目前要求每个月最多有2个需求开发,并且每个月需要完成的需求不能超过部门人力。这部分需求需要在 M 个月内完成开发,进行人力安排后每个月人力时固定的。对于每一组测试数据,输出部门需要人力需求,行末无多余的空格。
2025-03-19 08:35:19
13
原创 华为OD机试 Python【CSV 替换单元格】
在进行引用替换时,通过递归替换引用直至没有引用为止,过程中如果发现无效引用则抛出异常并输出-1。最终将所有处理后的单元格拼接成一行输出。6、不存在多重 ‘<>’ 的情况,一个单元只能引用一个其他单元格。将一个 csv 格式的数据文件中包含有单元格引用的内容替换为对应单元格内容的实际值。2、每个单元格的内容包含字母和数字,以及使用 ‘<>’ 分隔的单元格引用,例如:<4、引用单元格的位置不受限制,允许排在后面的单元格被排在前面的单元格引用。3、每个单元格的内容,在替换前和替换后均不超过100个字符。
2025-03-11 08:33:00
39
原创 华为OD机试 C++【CSV 替换单元格】
在进行引用替换时,通过递归替换引用直至没有引用为止,过程中如果发现无效引用则抛出异常并输出-1。最终将所有处理后的单元格拼接成一行输出。6、不存在多重 ‘<>’ 的情况,一个单元只能引用一个其他单元格。将一个 csv 格式的数据文件中包含有单元格引用的内容替换为对应单元格内容的实际值。2、每个单元格的内容包含字母和数字,以及使用 ‘<>’ 分隔的单元格引用,例如:<4、引用单元格的位置不受限制,允许排在后面的单元格被排在前面的单元格引用。3、每个单元格的内容,在替换前和替换后均不超过100个字符。
2025-03-11 08:32:18
29
原创 华为OD机试 Java【CSV 替换单元格】
在进行引用替换时,通过递归替换引用直至没有引用为止,过程中如果发现无效引用则抛出异常并输出-1。最终将所有处理后的单元格拼接成一行输出。6、不存在多重 ‘<>’ 的情况,一个单元只能引用一个其他单元格。将一个 csv 格式的数据文件中包含有单元格引用的内容替换为对应单元格内容的实际值。2、每个单元格的内容包含字母和数字,以及使用 ‘<>’ 分隔的单元格引用,例如:<4、引用单元格的位置不受限制,允许排在后面的单元格被排在前面的单元格引用。3、每个单元格的内容,在替换前和替换后均不超过100个字符。
2025-03-11 08:31:36
17
原创 华为OD机试 Python【分数表达式求值】
给定一个表达式,求其分数计算结果。表达式的限制如下:用例输入一定合法,不会出现括号匹配的情况输入描述字符串格式的表达式,仅支持±*/,数字可能超过两位,可能带有空格,没有负数长度小于200个字符输出描述表达式结果,以最简格式表达用例解题思路将输入的表达式分割成数字、运算符和括号;然后将中缀表达式转换为后缀表达式,转化完成之后,使用栈计算后缀表达式的值,通过分数类处理四则运算并化简,得到最简分数形式。
2025-03-10 08:32:00
30
原创 华为OD机试 C++【分数表达式求值】
将输入的表达式分割成数字、运算符和括号;然后将中缀表达式转换为后缀表达式,转化完成之后,使用栈计算后缀表达式的值,通过分数类处理四则运算并化简,得到最简分数形式。字符串格式的表达式,仅支持±*/,数字可能超过两位,可能带有空格,没有负数。用例输入一定合法,不会出现括号匹配的情况。给定一个表达式,求其分数计算结果。表达式结果,以最简格式表达。长度小于200个字符。
2025-03-10 08:31:03
24
原创 华为OD机试 Java【分数表达式求值】
将输入的表达式分割成数字、运算符和括号;然后将中缀表达式转换为后缀表达式,转化完成之后,使用栈计算后缀表达式的值,通过分数类处理四则运算并化简,得到最简分数形式。字符串格式的表达式,仅支持±*/,数字可能超过两位,可能带有空格,没有负数。用例输入一定合法,不会出现括号匹配的情况。给定一个表达式,求其分数计算结果。表达式结果,以最简格式表达。长度小于200个字符。
2025-03-10 08:30:03
14
原创 华为OD机试 Python【猴子摘香蕉最大值】
使用双指针,一个指向数组的开头,一个指向末尾,维护一个窗口,窗口大小为N。计算从开头获取i个香蕉和从末尾获取N-i个香蕉的总和,利用前缀和数组求和,遍历所有可能的组合,找出能够获取香蕉的最大值。一只贪吃的猴子,来到一个果园,发现许多串香蕉排成一行,每串香蕉上有若干根香蕉。每串香蕉的根数由数组numbers给出。猴子获取香蕉,每次都只能从行的开头或者末尾获取,并且只能获取N次,求猴子最多能获取多少根香蕉。第二行为数组numbers的值每个数字通过空格分开。第三行输入为N,表示获取的次数。
2025-03-07 08:32:22
30
原创 华为OD机试 C++【猴子摘香蕉最大值】
使用双指针,一个指向数组的开头,一个指向末尾,维护一个窗口,窗口大小为N。计算从开头获取i个香蕉和从末尾获取N-i个香蕉的总和,利用前缀和数组求和,遍历所有可能的组合,找出能够获取香蕉的最大值。一只贪吃的猴子,来到一个果园,发现许多串香蕉排成一行,每串香蕉上有若干根香蕉。每串香蕉的根数由数组numbers给出。猴子获取香蕉,每次都只能从行的开头或者末尾获取,并且只能获取N次,求猴子最多能获取多少根香蕉。第二行为数组numbers的值每个数字通过空格分开。第三行输入为N,表示获取的次数。
2025-03-07 08:31:37
18
原创 华为OD机试 Java【猴子摘香蕉最大值】
使用双指针,一个指向数组的开头,一个指向末尾,维护一个窗口,窗口大小为N。计算从开头获取i个香蕉和从末尾获取N-i个香蕉的总和,利用前缀和数组求和,遍历所有可能的组合,找出能够获取香蕉的最大值。一只贪吃的猴子,来到一个果园,发现许多串香蕉排成一行,每串香蕉上有若干根香蕉。每串香蕉的根数由数组numbers给出。猴子获取香蕉,每次都只能从行的开头或者末尾获取,并且只能获取N次,求猴子最多能获取多少根香蕉。第二行为数组numbers的值每个数字通过空格分开。第三行输入为N,表示获取的次数。
2025-03-07 08:30:53
14
原创 华为OD机试真题【胡杨树种植】(Java)
近些年来,我国防沙治沙取得显著成果。某沙漠新种植N棵胡杨(编号1-N),排成一排。现可补种胡杨K棵,请问如何补种(只能补种,不能新种),可以得到最多的连续胡杨树?补种第7棵树,最多的连续胡杨棵树为6(5,6,7,8,9,10)输入输出示例仅供调试,后台判题数据一般不包含示例。补种到2或4结果一样,最多的连续胡杨棵树都是3。M 个空格分隔的数,按编号从小到大排列。一个月后,有M棵胡杨未能成活。K 最多可以补种的数量。
2025-03-03 08:35:37
16
原创 华为OD机试真题【胡杨树种植】(C++)
近些年来,我国防沙治沙取得显著成果。某沙漠新种植N棵胡杨(编号1-N),排成一排。现可补种胡杨K棵,请问如何补种(只能补种,不能新种),可以得到最多的连续胡杨树?补种第7棵树,最多的连续胡杨棵树为6(5,6,7,8,9,10)输入输出示例仅供调试,后台判题数据一般不包含示例。补种到2或4结果一样,最多的连续胡杨棵树都是3。M 个空格分隔的数,按编号从小到大排列。一个月后,有M棵胡杨未能成活。K 最多可以补种的数量。
2025-03-03 08:34:43
26
原创 华为OD机试真题【种植胡杨树】(Python)
近些年来,我国防沙治沙取得显著成果。某沙漠新种植N棵胡杨(编号1-N),排成一排。一个月后,有M棵胡杨未能成活。现可补种胡杨K棵,请问如何补种(只能补种,不能新种),可以得到最多的连续胡杨树?输入描述N 总种植数量M 未成活胡杨数量M 个空格分隔的数,按编号从小到大排列K 最多可以补种的数量其中:1 <= N <= 1000001 <= M <= N0 <= K <= M输出描述最多的连续胡杨棵树示例1输入输出示例仅供调试,后台判题数据一般不包含示例输入522 41输出3说明补种到2或4结果一样,最多
2025-03-03 08:32:12
23
原创 华为OD机试 Python【园区参观路径计算】
创建一个二维数组 dp 来记录到达每个位置的路径数,初始化起点的路径数为1。对于每个可以参观的位置,路径数等于从上方和左方到达的路径数之和。通过逐行逐列地填充 dp 数组,最终在终点位置获得从起点到终点的所有不同路径数量。家属参观园区时,只能向右和向下园区前进,求从起始园区到终点园区会有多少条不同的参观路径。将公司园区视为一个矩形,起始园区设置在左上角,终点园区设置在右下角;后面每一行表示该园区是否可以参观,0表示可以参观,1表示不能参观。园区某部门举办了Family Day,邀请员工及其家属参加;
2025-02-19 08:33:35
27
原创 华为OD机试 C++【园区参观路径计算】
创建一个二维数组 dp 来记录到达每个位置的路径数,初始化起点的路径数为1。对于每个可以参观的位置,路径数等于从上方和左方到达的路径数之和。通过逐行逐列地填充 dp 数组,最终在终点位置获得从起点到终点的所有不同路径数量。家属参观园区时,只能向右和向下园区前进,求从起始园区到终点园区会有多少条不同的参观路径。将公司园区视为一个矩形,起始园区设置在左上角,终点园区设置在右下角;后面每一行表示该园区是否可以参观,0表示可以参观,1表示不能参观。园区某部门举办了Family Day,邀请员工及其家属参加;
2025-02-19 08:32:55
36
原创 华为OD机试 Java【园区参观路径计算】
园区某部门举办了Family Day,邀请员工及其家属参加;将公司园区视为一个矩形,起始园区设置在左上角,终点园区设置在右下角;家属参观园区时,只能向右和向下园区前进,求从起始园区到终点园区会有多少条不同的参观路径。输入描述第一行为园区的长和宽;后面每一行表示该园区是否可以参观,0表示可以参观,1表示不能参观输出描述输出为不同的路径数量用例解题思路创建一个二维数组 dp 来记录到达每个位置的路径数,初始化起点的路径数为1。对于每个可以参观的位置,路径数等于从上方和左方到达的路径数之和。通过逐行逐
2025-02-19 08:32:06
16
原创 华为OD机试 Python【基于访问频率和时间的文件缓存系统】
通过存储文件信息和管理缓存空间,优先删除访问次数最少且访问时间最早的文件来腾出空间。文件访问过后,会更新文件的最近访问时间和总的访问次数,当缓存不够时,按照第一优先顺序为访问次数从少到多,第二顺序为时间从老到新的方式来删除文件。当缓存空间不足以存放新的文件时,根据规则删除文件,直到剩余空间满足新的文件大小位置,再存放新文件。请设计一个文件缓存系统,该文件缓存系统可以指定缓存的最大值(单位为字节)。读取文件是从文件缓存系统中访问已存在,如果文件不存在,则不作任何操作。存储文件是把文件放入文件缓存系统中;
2025-02-18 08:34:07
29
原创 华为OD机试 C++【基于访问频率和时间的文件缓存系统】
通过存储文件信息和管理缓存空间,优先删除访问次数最少且访问时间最早的文件来腾出空间。文件访问过后,会更新文件的最近访问时间和总的访问次数,当缓存不够时,按照第一优先顺序为访问次数从少到多,第二顺序为时间从老到新的方式来删除文件。当缓存空间不足以存放新的文件时,根据规则删除文件,直到剩余空间满足新的文件大小位置,再存放新文件。请设计一个文件缓存系统,该文件缓存系统可以指定缓存的最大值(单位为字节)。读取文件是从文件缓存系统中访问已存在,如果文件不存在,则不作任何操作。存储文件是把文件放入文件缓存系统中;
2025-02-18 08:33:18
31
原创 华为OD机试 Java【基于访问频率和时间的文件缓存系统】
通过存储文件信息和管理缓存空间,优先删除访问次数最少且访问时间最早的文件来腾出空间。文件访问过后,会更新文件的最近访问时间和总的访问次数,当缓存不够时,按照第一优先顺序为访问次数从少到多,第二顺序为时间从老到新的方式来删除文件。当缓存空间不足以存放新的文件时,根据规则删除文件,直到剩余空间满足新的文件大小位置,再存放新文件。请设计一个文件缓存系统,该文件缓存系统可以指定缓存的最大值(单位为字节)。读取文件是从文件缓存系统中访问已存在,如果文件不存在,则不作任何操作。存储文件是把文件放入文件缓存系统中;
2025-02-18 08:32:40
20
原创 华为OD机试 Java【结对编程问题】
从部门中选出序号分别为 i、j、k 的3名员工,他们的职级分贝为 level[i],level[j],level[k],结队小组满足 level[i] < level[j] < level[k] 或者 level[i] > level[j] > level[k],其中 0 ≤ i < j < k < n。遍历每个中间的员工,并统计在其左边比它职级低和职级高的员工数量,以及在其右边比它职级低和职级高的员工数量。第二行输入:按序号依次排列的员工的职级 level,中间用空格隔开。第一行输入:员工总数 n。
2025-02-17 08:34:12
30
原创 华为OD机试 Python【结对编程问题】
从部门中选出序号分别为 i、j、k 的3名员工,他们的职级分贝为 level[i],level[j],level[k],结队小组满足 level[i] < level[j] < level[k] 或者 level[i] > level[j] > level[k],其中 0 ≤ i < j < k < n。遍历每个中间的员工,并统计在其左边比它职级低和职级高的员工数量,以及在其右边比它职级低和职级高的员工数量。第二行输入:按序号依次排列的员工的职级 level,中间用空格隔开。第一行输入:员工总数 n。
2025-02-17 08:33:40
40
原创 华为OD机试 C++【员工结对编程】
从部门中选出序号分别为 i、j、k 的3名员工,他们的职级分贝为 level[i],level[j],level[k],结队小组满足 level[i] < level[j] < level[k] 或者 level[i] > level[j] > level[k],其中 0 ≤ i < j < k < n。遍历每个中间的员工,并统计在其左边比它职级低和职级高的员工数量,以及在其右边比它职级低和职级高的员工数量。第二行输入:按序号依次排列的员工的职级 level,中间用空格隔开。第一行输入:员工总数 n。
2025-02-17 08:32:43
31
原创 华为OD机试 Python【猴子摘香蕉最大值】
使用双指针,一个指向数组的开头,一个指向末尾,维护一个窗口,窗口大小为N。计算从开头获取i个香蕉和从末尾获取N-i个香蕉的总和,利用前缀和数组求和,遍历所有可能的组合,找出能够获取香蕉的最大值。一只贪吃的猴子,来到一个果园,发现许多串香蕉排成一行,每串香蕉上有若干根香蕉。每串香蕉的根数由数组numbers给出。猴子获取香蕉,每次都只能从行的开头或者末尾获取,并且只能获取N次,求猴子最多能获取多少根香蕉。第二行为数组numbers的值每个数字通过空格分开。第三行输入为N,表示获取的次数。
2025-02-14 08:36:03
22
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人