- 博客(164)
- 收藏
- 关注
原创 【华为OD】| 表演赛游戏分组
例: 10 名参赛者的评分分别为 5 1 8 3 4 6 7 10 9 2,分组为 (1 3 5 8 10) (2 4 6 7 9),两组实力差最小,差值为 1。有多种分法,但实力差的绝对值最小为 1。部门准备举办一场王者荣耀表演赛,有 10 名游戏爱好者参与,分 5 为两队,每队 5 人。现在给你 10 名参与者的游戏水平评分,请你根据上述要求分队最后输出这两组的实力差绝对值。10 个整数,表示 10 名参与者的游戏水平评分。10 名队员分成两组,两组实力差绝对值最小为 1。
2024-09-10 16:30:24
162
原创 【华为OD】| 寿司转盘
寿司店周年庆,正在举办优惠活动回馈新老客户寿司转盘上总共有 n 盘寿司,prices[i] 是第 i 盘寿司的价格,如果客户选择了第 i 盘寿司,寿司店免费赠送客户距离第 i 盘寿司最近的下一盘寿司 j,前提是 prices[j]
2024-09-10 16:23:34
172
原创 【华为OD】| 最长的指定瑕疵度的元音子串
开头和结尾都是元音字母( aeiouAEIOU)的字符串为元音字符串,其中混杂的非元音字母数量为其瑕疵度。给定一个字符串,请找出指定瑕疵度的最长元音字符子串,并输出其长度,如果找不到满足条件的元音字符子串,输出 0。满足条件的最长元音字符子串有两个,分别为 aabee 和 eebuu,长度为 5。首行输入是一个整数,表示预期的瑕疵度 flaw,取值范围 [0,65535]。满足条件的最长元音字符子串有两个,分别为 uio 和 auu ,长度为 3。输出为一个整数,代表满足条件的元音字符子串的长度。
2024-09-10 09:11:27
142
原创 【华为OD】| 员工派遣
现在,代号为 x 的国家和代号为 y 的国家分别需要 cntx 名和 cnty 名员工。部门每个员工有一个员工号(1,2,3……四个整数 x,y,cntx,cnty。找到最小的 k,使得可以将编号在 [1,k] 中的员工分配给 x 国和 y 国,且满足 x 国和 y 国的需求。规则 2、编号为 x 的倍数的员工不能去 x 国,编号为 y 的倍数的员工不能去 y 国。3 - 表示国家 2 需要 3 个人。1 - 表示国家 3 需要 1 个人。
2024-09-10 08:24:54
146
原创 【华为OD】| 求幸存数之和
给一个正整数列 nums,一个跳数 jump,及幸存数量 left。运算过程为:从索引为 0 的位置开始向后跳,中间跳过 J 个数字,命中索引为 J+1 的数字,该数被敲出,并从该点起跳,以此类推,直到幸存 left 个数为止。从 1(索引为 0)开始起跳,中间跳过 4 个数字,因此依次删除 6,2,8,5,4,7。剩余 1,3,9,返回和为 13。2)起跳点和命中点之间间隔 jump 个数字,已被敲出的数字不计入在内。3)跳到末尾时无缝从头开始(循环查找),并可以多次循环。1)0 是第一个起跳点。
2024-09-10 08:19:56
94
原创 【华为OD】| 增强的strstr - 滑动窗口
在本题中,滑动窗口是一个自然的选择,因为我们需要在源字符串 (src) 中找到目标字符串 (tar) 的第一次匹配位置,并且目标字符串可能包含可选字符段([]内的字符)。例如,对于目标字符串 b[cd],会被解析为 [[‘b’], [‘c’, ‘d’]],表示第一位必须是 ‘b’,第二位可以是 ‘c’ 或 ‘d’。当遇到一个 [ 时,表示开始一个可选字符段,读取所有在 [] 中的字符,直到遇到 ] 结束,将这些字符放入一个集合中。对于每一个窗口位置,我们依次检查源字符串的字符是否在对应的目标字符集合中。
2024-09-10 08:08:30
379
原创 【华为OD】| 中文分词模拟器
即 “ilovechina”,不同词库可分割为 “i,love,china”,“ilove,china”,不能分割出现重叠的 “i,ilove,china”,i 出现重叠。“ilovechina”,假设分词结果 [i,ilove,lo,love,ch,china,lovechina],则输出 [ilove,china]第二行输入中文词库 “i,love,china,ch,na,ve,lo,this,is,this,word”按顺序输出分词结果 “i,love,china”标点符号不成词,仅用于断句。
2024-09-09 09:29:19
444
原创 【华为OD】| Wonderland ,JAVA 解答
小王计划游玩日期数组为 days,1 ≤ days.length ≤ 365,1 ≤ days[i] ≤ 365,默认顺序为升序。例如,小王在第10日买了一张三日票,小王可以在第10日、第11日和第12日进行无限制的游玩。小王计划的游玩日期将由一个数组给出。现在,请您根据给出的售票价格数组和小王计划游玩日期数组,返回完成游玩计划所需要的最低消费。根据售票价格数组和游玩日期数组给出的信息,发现每次去玩的时候买一张一日票是最省钱的,所以小王会卖 8 张一日票,每张 5 元,最低花费是 40 元。
2024-09-09 09:26:00
157
原创 【华为OD】| 数据单元的变量替换
输出所有单元格展开的内容,单元格之间用逗号分隔。处理过程中出现错误时,输出字符串“-1”表示出错。输入只有一行数据,用逗号分隔每个单元格,行尾没有逗号。最多 26 个单元格,对应编号 A-Z。第一个单元中有对 B 单元的引用,B 单元格的值为 1,替换时,将第二个数据单元的内容替代。第二个单元中有对 A 单元的引用,A 单元格的值为 1,替换时,将 A 单元的内容替代。将一个 csv 格式的数据文件中包含有单元格引用的内容替换为对应单元格内容的实际值。第一个单元中有错误的单元格引用方式,输出-1。
2024-09-09 09:19:46
197
原创 【华为OD】| 推荐多样性 200 分
(6)再从第二 个列表中选择,由于数量不足 4 条并且总的元素数达到窗口要求,取 18 19 放到窗口 3 和窗口 4。先输出窗口 1 的元素列表,再输出窗口 2 的元素列表,再输出窗口 3 的元素列表,最后输出窗口 4 的元素列表。各个列表元素需要做穿插处理,即先从第一个列表中为每屏选择一个元素,再从第二个列表中为每屏选择一个元素,依次类推。(5)再从第一 个列表中选择,由于数量不足 4 条,取剩下的 2 条,放到窗口 1 和窗口 2。每个列表的元素列表均不为空,不需要考虑列表为空情况。
2024-09-09 09:16:25
215
原创 【华为OD】| 攀登者 1
例如[0,1,2,4,3,1,0,0,1,2,3,1,2,1,0],代表如下图所示的地图,地图中有两个山脉位置分别为 1,2,3,4,5 和 8,9,10,11,12,13,最高峰高度分别为 4,3。例如,上图所示的山峰,从索引 0,走到索引 1,高度差为 1,需要消耗 2X1=2 的体力,从索引 2 高度 2 走到高度 4 索引 3 需要消耗 2X2=4 的体力。一个山脉可能有多座山峰(高度大于相邻位置的高度,或在地图边界且高度大于相邻的高度)。山峰所在的索引分别为 2,10,12。
2024-09-09 09:12:15
299
原创 【华为OD】| 组成最大数
根据用户入的字符串中提取出字符串数组,然后使用大顶堆的数据结构和重写的字符串比较方法,对字符串数组进行排序,最后将排序后的字符串拼接起来,返回最大的字符串。小组中每位都有一张卡片,卡片上是 6 位内的正整数,将卡片连起来可以组成多种数字,计算组成的最大数字。“,” 号分割的多个正整数字符串,不需要考虑非数字异常情况,小组最多 25 个人。
2023-08-25 15:40:11
304
原创 【华为OD】| 寻找连续区间
找到第一个大于或等于 sum[i]+x 的元素的索引。然后使用公式 N-index+1 计算总和大于或等于 x 的子数组的数量。程序首先使用 Scanner 对象读取输入。然后将输入转换为适当的数据类型并将其存储在变量中。个正整数的数组,求出有多少个连续区间(包括单个正整数),它们的和大于等于。的前缀和并将其存储在名为 sum 的数组中。然后程序遍历 sum 数组的每个元素,并使用。输出一个整数,表示所求的个数。个正整数(每个正整数小于等于。
2023-08-25 15:37:20
293
原创 【华为OD】| 身高排序
下述代码是一个 Java 程序,它的作用是将输入的一组数按照与输入的第一个数的差值从小到大排序,如果差值相同则按照数值从小到大排序。程序首先读入两个整数 h 和 n,其中 h 表示第一个数,n 表示接下来要读入的数的个数。接下来程序使用 Java 8 的 Stream API 对这个 List 进行排序,排序的规则是先按照与 h 的差值从小到大排序,如果差值相同则按照数值从小到大排序。然后就想基于各小朋友和自己的身高差,对他们进行排序,来到新班级后,发现其他小朋友身高参差不齐,分别是其他小朋友的身高。
2023-08-25 15:36:16
198
原创 【华为OD】| 判断字符串子序列
字符串 source 可能会很长(长度 ~= 500,000),而 target 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"abc"是"aebycd"的一个子序列,而"ayb"不是)。第二行为 source,长字符串(长度 ~= 500,000)这里有两个 abc 的子序列满足,取下标较大的,故返回 3。最后一个子序列的起始位置, 即最后一个子序列首字母的下标。请找出最后一个子序列的起始位置。
2023-08-25 15:34:38
211
原创 【华为OD】| 增强的 strstr
与 strstr 函数不同,返回的是源字符串中,匹配子字符串相对于源字符串地址的偏移(从 0 开始算),如果没有匹配返回-1。相当于是在源字符串中查找 bc 或者 bd,bc 子字符串相对于 abcd 的偏移是 1。目标字符串中 ‘[]’ 必定成对出现,且不会出现嵌套。可选段使用 “[]” 标识,表示该位置是可选段中任意一个字符即可满足匹配条件。与 strstr函数一样,输入参数是两个字符串指针,分别是源字符串和目标字符串。的增强函数,可以使用带可选段的字符串来模糊查询,与。中查找第一次出现字符串。
2023-08-25 15:33:42
288
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人