一只呆呆鹅
这个作者很懒,什么都没留下…
展开
-
leetcode【2023】
leetcode原创 2023-05-11 18:03:48 · 1112 阅读 · 0 评论 -
leetcode目录
题目考点时间分值施肥问题逻辑推理2023.Q1100组装数组深度优先搜索2023.Q1200开租建站拓补排序2023.Q1100统计友好度最大值逻辑推理2023.Q1100区域发电量统计前缀和2023.Q1200新词挖掘滑动窗口2023.Q1100区块链转储系统滑动窗口2023.Q1100新词挖掘滑动窗口2023.Q1100最大控制资源成本优先队列2023.Q1200租车骑绿岛原创 2023-05-11 17:44:28 · 359 阅读 · 0 评论 -
leetcode-完美走位/滑动窗口【2023Q1】
输入一个长度为4的倍数的字符串,字符串中仅包含WASD四个字母。将这个字符串中的连续子串用同等长度的仅包含WASD的字符串替换,如果替换后整个字符串中WASD四个字母出现的频数相同,那么我们称替换后的字符串是“完美走位”。求子串的最小长度。如果输入字符串已经平衡则输出0。一行字符表示给定的字符串s。数据范围: 1原创 2023-05-03 21:08:05 · 255 阅读 · 0 评论 -
华为OD机试真题-过滤组合字符串【2023Q1】
和一个屏蔽字符串“ux”,那么“78”可以组成多个字符串例如:“ux”,“uw”,“vx”,“vw”,过滤这些完全包含屏蔽字符串的每一个字符的字符串,然后输出剩下的字符串。0 关联 “a”,“b”,“c”例如7关联"u",“v”,8关联"x",“w”,输入一个字符串例如“78”,1 关联 “d”,“e”,“f”2 关联 “g”,“h”,“i”3 关联 “j”,“k”,“l”4 关联 “m”,“n”,“o”5 关联 “p”,“q”,“r”7 关联 “u”,“v”8 关联 “w”,“x”原创 2023-05-03 21:11:02 · 92 阅读 · 0 评论 -
华为OD机试真题-区块链转储系统【2023Q1】
通过遍历文件大小数组(比如示例1中的【100 300 500 400 400 150 100】),不断调整窗口左右边界,使得窗口和尽可能接近磁盘容量。区块链底层存储是一个链式文件系统,由顺序的N个文件组成,每个文件的大小不一,依次为F1.F2…云平台考虑将区块链按文件转储到廉价的SATA盘,只有连续的区块链文件才能转储到SATA盘上,且转的文件之和不能超过SATA盘的容量。2.如果小于磁盘容量,将右边界的文件大小加入窗口和,并更新最大窗口和;说明: 最大序列和为1000,序列为[100,500,400]原创 2023-05-01 23:10:52 · 136 阅读 · 0 评论 -
华为OD机试真题-最小调整顺序次数【2023Q1】
给定一个队列,但是这个队列比较特殊,可以从头部添加数据,也可以从尾部添加数据,但是只能从头部删除数据。但是在添加数据的过程中,也会删除数据,要求删除必须按照1~n按照顺序进行删除,所以在删除时,可以根据需要调整队列中数字的顺序以满足删除条件。3.如果不相等,则调整队列顺序,从队列头部删除元素,将调整次数加 1,将 start 加 1。第7步:头部删除2,调整顺序再删除,还剩[3,4,5]第8步:头部删除3,无需调整,还剩[4,5]第3步:头部删除1,无需调整,还剩[2]第10步:头部删除5,无需调整。原创 2023-05-02 21:55:06 · 114 阅读 · 0 评论 -
华为OD机试真题-机房布局/栈解法【2023.Q1】
小明正在规划一个大型数据中心机房,需要满足的条件是:确保在每个机柜边上至少要有一个电箱。已知:机房排成1排,我们用M表示机柜,I表示间隔。请你返回这整排机房,至少需要多少个电箱。如果无解请返回-1。第一行输入一个字符串,由 M 和 I 组成,表示机房的组成样式输出一个整数,表示整排机房至少需要多少个电箱。如果无解请返回-1。示例1:输入: MIIM输出: 2。原创 2023-05-04 16:24:15 · 291 阅读 · 0 评论 -
华为OD机试真题- 处理器问题【2023Q1】
如果申请处理器个数为1,则选择同一链路,剩余可用的处理器数量为1个的最佳,其次是剩余3个的为次佳,然后是剩余2个,最后是剩余4个。编号0-3的处理器处于一个链路,编号4-7的处理器处于另外一个链路。-如果申请处理器个数为2,则选择同一链路剩余可用的处理器数量2个的为最佳,其次是剩余4个,最后是剩余3个。编号0-3的处理器处于同一个链路中,编号4-7的处理器处于另外一个链路中,不同链路中的处理器不能通信。-如果申请处理器个数为4,则必须选择同一链路剩余可用的处理器数量为4个。原创 2023-05-03 21:26:27 · 183 阅读 · 0 评论 -
华为OD机试真题-缓存需要最少金币数【2023.Q1】
3、扫描报告缓存后,后继再碰到该文件则不需要扫描成本,直接获取缓存结果给出源代码文件标识序列和文件大小序列,求解采用合理的缓存策略,最少需要的金币数。备注: 1 <= N <= 10000 1 <= Fi <= 1000 1 <=Si <= 10。HashMap 存储每个文件标识对应的文件大小,以及每个文件标识在序列中出现的次数。1、文件扫描的成本和文件大小相关,如果文件大小为N,则扫描成本为N个金币。2、扫描报告的缓存成本和文件大小无关,每缓存一个报告需要M个金币。采用合理的缓存策略,需要的最少金币数。原创 2023-05-04 16:25:53 · 149 阅读 · 0 评论 -
华为OD机试真题-机房布局【2023.Q1】
为了简化题目,假设这个机房是一整排,M表示机柜,I表示间隔,请你返回这整排机房,至少需要多少个电箱。如果无解请返回-1。小明正在规划一个大型数据中心机房,为了使得机柜上的机器都能正常满负荷工作,需要确保在每个机柜边上至少要有一个电箱。输出一个整数,表示整排机房至少需要多少个电箱。第一行输入一个字符串,由 M 和 I 组成,表示机房的组成样式。2.如果左侧或右侧有间隔,增加一个电箱,并适当跳过一些字符。3.如果机柜两侧都没有间隔,说明无解,跳出循环。4.如果当前字符不是机柜,继续遍历下一个字符。原创 2023-05-04 16:20:19 · 102 阅读 · 0 评论 -
华为OD机试真题-最大平分数组【2023Q1】
如果dp数组的最后一个元素为true,则说明数组可以被划分为k个和相等的子集。给定一个数组nums,可以将元素分为若干个组,使得每组和相等,求出满足条件的所有分组中,最大的平分组个数。假设数组的个数为n,从n开始递减,将数组划分为i个和相等的子集。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)最大的平分组数个数为4个。原创 2023-05-03 21:34:04 · 84 阅读 · 0 评论 -
华为OD机试真题-最左侧冗余覆盖子串【2023.Q1】
3:该子串每个字母出现次数不小于s1中对应的字母, 我们称s2以长度k冗余覆盖s1, 给定s1,s2,k, 求最左侧的s2以长度k冗余覆盖s1的子串的首个元素的下标, 如果没有返回-1。最左侧的 s2 以长度 k 冗余覆盖 s1 的子串的首个元素下标,若不存在,则返回-1.,如果不是,则不存在满足条件的子串。如果存在,就开始计算 s1 中每个字符的出现次数。如果遍历完 s2 仍然没有找到满足条件的子串,则表示不存在满足条件的子串。记录 s2 的子串中还需要匹配的 s1 的字符数量。原创 2023-05-05 17:17:11 · 147 阅读 · 0 评论 -
华为OD机试真题-积木最远距离【2023Q1】
小华随机拿一些积木挨着排成一排,请小薇找到这排积木中数字相同且所处位置最远的2块积木块,计算他们的距离,小薇请你帮忙替她解决这个问题。对于每个列表,如果长度大于1,则说明有相同数字的积木。他们有很多积木,每个积木块上都有一个数字,积木块上的数字可能相同。接下来N行每行一个数字,表示小华排成一排的积木上数字。如果所有积木数字都不相同,请返回-1。共有5个积木,第1个积木和第4个积木数字相同,其距离为3。0<=积木上的数字<10^9 1<=积木长度<=10^5。一共有两个积木,没有积木数字相同,返回-1。原创 2023-05-03 21:31:20 · 79 阅读 · 0 评论 -
华为OD机试真题-连接器【2023.Q1】
(x表示连接器的最大可连接长度,即x>=gap),可用于将分离的区间连接起来,但两个分离区间之间只能使用1个连接器;合并后:[1,10],[15,30],[33,40],使用5, 3两个连接器连接后只剩下 [1, 40]。合并后:[1,10], [15,30], [33,40],使用5, 3两个连接器连接后只剩下[1,40]。遍历排序后的区间,合并重叠或相邻的区间,并记录合并后的区间之间的距离。区间组:[1,10],[15,20],[18,30],[33,40]连接器组:[5,4,3,2]原创 2023-05-04 16:30:57 · 94 阅读 · 0 评论 -
华为OD机试真题- 日志首次上报最多积分【2023Q1】
比如,我在t1时刻不上报数据,延迟到t2时候上报,能够得到98分。因为每成功上报一条日志,奖励1分,我们总共上报了1 + 98 = 99条数据,但由于t1时候的1条数据延迟了1秒,根据规则2,因扣1分。但其中t1时候的数据被延迟2秒,扣2分,t2时刻的98条数据延迟1秒,扣98分,因此总共扣100分。能够得0分,因为t3时刻总共上报1+98+1 = 100条数据,可以。T5 时刻上报,因为已经超了100条的限制,所以只能上报100条,得 -23 分。比如,我在t1时刻上报数据,能够得到1分。原创 2023-05-03 21:20:07 · 84 阅读 · 0 评论 -
华为OD机试真题-二元组个数【2023.Q1】
给定两个数组a,b,若a[i] == b[j] 则称 [i, j] 为一个二元组,求在给定的两个数组中,二元组的个数。如果存在,则将数组 a 中元素的出现次数乘以数组 b 中元素的出现次数,累加到结果中。遍历数组 a 对应的 HashMap。对于每个元素,检查该元素是否在数组 b 的。使用两个 HashMap 分别存储数组 a 和数组 b 中元素的出现次数。第二行输入m个数,表示第一个数组。第四行输入n个数,表示第二个数组。为该元素出现的次数。原创 2023-05-04 16:29:44 · 121 阅读 · 0 评论 -
华为OD机试真题-修建高铁最低成本【2023Q1】
在给定城市数量,可建设高铁的两城市间的修建成本列表、以及结合城市商业价值会固定建设的两城市建高铁。满足修建成本最低,只需要建设城市1,2间,城市2,3间的高铁即可,城市1,3之间可通过城市2中转来互联。1、第一行,包含此城市圈中城市的数量、可建设高铁的两城市间修建成本列表数量、必建高铁的城市列表。2、可建设高铁的两城市间的修建成本列表,为多行输入数据,格式为3个数字,用空格分隔,长度不超过1000。3、 固定要修建的高铁城市列表,是上面参数2的子集,可能为多行,每行输入为2个数字,以空格分隔。原创 2023-05-03 21:35:37 · 111 阅读 · 0 评论 -
华为OD机试真题-快递投放【2023.Q1】
查找无法送达的包裹。对于每个站点组合,检查是否有禁止通行的包裹。如果有,检查包裹是否在禁止通行的列表中。如果在禁止通行的列表中,将包裹名称添加到。每个站点有一些包裹要运输,每个站点间的包裹不重复,路上有检查站会导致部分货物无法通行,计算哪些货物无法正常投递?有N个快递站点用字符串标识,某些站点之间有道路连接。接下来的4行是每个包裹的名称, 起点, 终点。1、第一行输入M N,M个包裹N个道路信息。最后2行是两个站点之间无法通行的包裹名称。是包裹名称和禁止通行的包裹名。4个包裹,2个禁止通行信息。原创 2023-05-04 16:27:57 · 267 阅读 · 0 评论 -
华为OD机试真题-端口合并【2023.Q1】
每个端口组是长度为N(1<=N<=100)的整数数组,如果端口组间存在2个及以上不同端口相同,则认为这2个端口组 互相关联,可以合并。遍历所有端口组,并且尝试合并它们。如果两个端口组有2个及以上相同的端口,合并它们。重复此操作,直到无法合并任何端口组。第一行输入端口组个数M,再输入M行,每行逗号分隔,代表端口组。输出合并后的端口组,用二维数组表示。第二行开始输入M行,每行是长度为N的整数数组,用逗号分割。1:组合内同端口仅保留一个,并从小到大排序。有 M(1<=M<=10) 个端口组。原创 2023-05-04 16:36:52 · 149 阅读 · 0 评论 -
华为OD机试真题-星际篮球争霸赛【2023.Q1】
在星球争霸篮球赛对抗赛中,最大的宇宙战队希望每个人都能拿到MVP,MVP的条件是单场最高分得分获得者。可以并列所以宇宙战队决定在比赛中尽可能让更多队员上场,并且让所有得分的选手得分都相同,然而比赛过程中的每1分钟的得分都只能由某一个人包揽。输出有得分的队员都是MVP时,最少得MVP得分。第二行为 t 个数字,代表每一分钟的得分 p, 1 ≤ p ≤ 50。如果找到满足条件的k值,输出总和除以k,即为最少的MVP得分。输出有得分的队员都是MVP时,最少得MVP得分。4人MVP,每个人都是6分。原创 2023-05-05 17:19:03 · 98 阅读 · 0 评论 -
华为OD机试真题-垃圾短信识别【2023Q1】
大众对垃圾短信深恶痛绝,希望能对垃圾短信发送者进行识别,为此,很多软件增加了垃圾短信的识别机制。输出该ID是否为垃圾短信发送者,并且按序列输出 L M 的值(由于 N 值不唯一,不需要输出)输出均为字符串。如果满足以上任意条件之一,则判定目标 ID 为垃圾短信发送者;否则,判定目标 ID 不是垃圾短信发送者。说明 true 表示1是垃圾短信发送者,两个数字,代表发送者1对应的L和M值。然后遍历所有短信,根据发送者和接收者的 ID 更新。同一个条目中,两个ID不会相同 (即不会自己给自己发消息)原创 2023-05-04 16:18:11 · 102 阅读 · 0 评论 -
华为OD机试真题-打印机队列【2023Q1】
文件的编号定义为”IN P NUM”事件发生第 x 次,此处待打印文件的编号为x。有5台打印机打印文件,每台打印机有自己的待打印队列。对于每个测试用例,每次”OUT P”事件,请在一行中输出文件的编号。所以队列中的文件有1~10不同的代先级,其中数字越大优先级越高。如果存在两个优先级一样的文件,则选择最早进入队列的那个文件。内,每个元素为一个ArrayList,代表打印机中的文件。打印机会从自己的待打印队列中选择优先级最高的文件来打印。,则将文件添加到对应打印机的文件列表中。用于记录输入的文件数量。原创 2023-05-03 21:29:56 · 127 阅读 · 0 评论 -
华为OD机试真题-最长密码【2023.Q1】
在一个密码本中,每一页都有一个由26个小写字母组成的若干位密码,每一页的密码不同,需要从这个密码本中寻找这样一个最长的密码,如果当前密码符合条件,检查其长度是否大于已找到的最终密码长度,或者长度相同但字典序较大,若满足,则更新最终密码。从当前密码的末尾开始依次去掉一位,判断子密码是否在集合中,如果不在集合中,当前密码不符合条件。密码本由一个字符串数组组成,不同元素之间使用空格隔开,每一个元素代表密码本每一页的密码。请输出符合要求的密码,如果有多个符合要求的密码,则返回字典序最大的密码。原创 2023-05-04 16:34:21 · 143 阅读 · 0 评论 -
华为OD机试真题-模拟商场优惠打折【2023Q1】
每个人结账使用优惠券时有以下限制:每人每次只能用两种优惠券,并且同一种优惠券必须一次用完, 不能跟别的穿插使用(比如用一张满减,再用一张打折,再用一张满减,这种顺序不行)。:满100减10,满200减20,满300减30,满400减40,以此类推不限制使用;第一行三个数字m,n,k,分别表示每个人可以使用的满减券、打折券和无门槛券的数量。模拟商场优惠打折,有三种优惠券可以用,满减券、打折券和无门槛券。输出每个人使用券之后的最低价格和对应使用优惠券的数量。第二个人使用 3 张满减券和5张无门槛券价格最低。原创 2023-05-03 21:13:38 · 137 阅读 · 0 评论 -
华为OD机试真题-探索地块建立【2023Q1】
给一块n * m的地块,相当于n * m的二维数组,每个元素的值表示这个小地块的发电量;求在这块地上建立正方形的边长为c的发电站,发电量满足目标电量k的地块数量。),检查以每个点为右下角的正方形发电站区域(边长为c)是否满足目标电量k。第一行为四个按空格分隔的正整数,分别表示n, m , c k。后面n行整数,表示每个地块的发电量。从左上角开始,计算每个点到该点为止的矩形区域内的发电量总和。2 5 2 6 // n m c k,下面每行是n*m地块每格的发电量。最终就能计算出满足条件的发电站数量。原创 2023-05-03 21:16:49 · 78 阅读 · 0 评论 -
华为OD机试真题-最多获得的短信条数【2023.Q1】
表示在有i元预算的情况下,客户最多可以获得的短信条数。对于每个售价,遍历从0到预算的所有金额,的较大值,其中i为当前售价,j为当前金额。原创 2023-05-05 17:20:40 · 131 阅读 · 0 评论 -
华为OD机试真题-去除多余空格【2023.Q1】
第一行: 待去除多余空格的文本,用例保证如果有单引号,则单引号成对出现,且单引号可能有多对.第二行: 关键词的开始和结束坐标,关键词间以逗号区分,关键词内的开始和结束位置以单空格区分。遍历关键词坐标,对每个关键词坐标,计算它左侧和右侧的多余空格数。更新关键词坐标,减去左侧和右侧多余的空格数,并将新的关键词坐标添加到。给出关键词的起始和结束下标,去除多余空格后刷新关键词的起始和结束下标。第二行: 去除多余空格后的关键词的坐标开始和结束位置,为数组方式输出。1,不考虑关键词起始和结束位置为空格的场景。原创 2023-05-06 21:15:40 · 71 阅读 · 0 评论 -
华为OD机试真题-挑选字符串【2023.Q1】
如果字符是字符串 B 的第一个字符,或者它前一个字符的数量小于当前字符的次数,将当前字符的次数加 1。输出一行,包含一个数字表示最多可以同时从a中挑选多少组能组成b的字符串,行末没有多余空格。如果字符在字符串 B 中,获取它在字符串 B 中的位置。输入为2行, 第一行输入字符串a,第二行输入字符串b,行首行尾没有多余空格。给定a-z,26个英文字母小写字符串组成的字符串A和B,存储字符串 A 中每个字符在字符串 B 中出现的次数。求最多可以同时从A中挑选多少组能组成B的字符串。原创 2023-05-05 17:23:41 · 124 阅读 · 0 评论 -
华为OD机试真题-预定酒店【2023.Q1】
放暑假了,小明决定到某旅游景点游玩,他在网上搜索到了各种价位的酒店(长度为n的 数组A),他的心理价位是x元,请帮他筛选出k个最接近x元的酒店 (n>=k>0) ,并由低到高打印酒店的价格。2.优先选择价格最接近心理价位的酒店,若两家酒店和心理价位差价相同,则选择价格较低的酒店。1.酒店价格数组A和小明的心理价位x均为整型数据;数组长度n = 10,筛选个数 k = 4,目标价位x = 6。中取出前k个,将对应的酒店价格存存到。表示酒店价格与心理价位的差值。表示筛选出的酒店价格。第一行: n,k,x。原创 2023-05-05 17:29:18 · 84 阅读 · 0 评论 -
华为OD机试真题-数字加减游戏【2023.Q1】
输入的唯一一行包含四个正整数s,t,a,b(1<=s,t,a,b<=105),并且a!现在有两种数字可以用来加减,分别为a,b(a!输出的唯一一行包含一个整数,表示最少需要使用多少次a才能将数字s变成数字t.小明在玩一个数字加减游戏,只使用加法或者减法,将一个数字s变成数字t。初始值1加一次a变成6,然后加两次b变为10,因此a的使用次数为1次。请问小明最少可以用多少次a,才能将数字s变成数字t。每个回合,小明可以用当前的数字加上或减去一个数字。题目保证数字s一定能变成数字t。原创 2023-05-06 21:50:32 · 82 阅读 · 0 评论 -
华为OD机试真题-分奖金【2023.Q1】
遍历每个员工的随机数,若栈为空或当前员工随机数小于等于栈顶员工随机数,将当前员工工号入栈。若当前员工随机数大于栈顶员工随机数,则计算栈顶员工的奖金,并将栈顶员工出栈。按照工号的顺序往后排列,遇到第一个数字比自己数字大的,那么,前面的员工就可以获得“距离。那么第2个员工的数字10比第1个员工的数字2大,所以,第1个员工可以获得1。第2个员工后面没有比他数字更大的员工,所以,他获得他分配的随机数数量的奖金,就是10。第3个员工是最后一个员工,后面也没有比他更大数字的员工,所以他得到的奖金是3。原创 2023-05-06 21:23:15 · 141 阅读 · 0 评论 -
华为OD机试真题-整理扑克牌【2023.Q1】
对上述组合牌进行由大到小排列,规则如下:不同类型组合牌之间由大到小排列规则:“炸弹” >"葫芦”>"三张”>"对子”> “单张”:相同类型组合牌之间,除“葫芦”外,按组合牌全部牌面数字加总由大到小排列:"葫芦”则先按3张相同牌面数字加总由大到小排列,3张相同牌面数字加总相同时,再按另外2张牌面数字加总由大到小排列;:对扑克牌进行分组,形成组合牌,规则如下:当牌面数字相同张数大于等于4时,组合牌为“炸弹”:3张相同牌面数字 + 2张相同牌面数字,且3张牌与2张牌不相同时,组合牌为“葫芦”原创 2023-05-06 21:25:16 · 153 阅读 · 0 评论 -
华为OD机试真题-最多获得的短信条数【2023.Q1】
dp[i]表示在有i元预算的情况下,客户最多可以获得的短信条数。对于每个售价,遍历从0到预算的所有金额,dp[j] = max(dp[j] , dp[j - i] + topupList.get(i - 1))的较大值,其中i为当前售价,j为当前金额。分别充值10元和5元,可以获得150+60条短信,共210条,最大。分别充值1元和5元,可以获得10+60条短信,共70条,最大。现在给出客户预算,和优惠售价序列,求最多可获得的短信总条数。某云短信厂商,为庆祝国庆,推出充值优惠活动。原创 2023-05-06 21:51:49 · 115 阅读 · 0 评论 -
华为OD机试真题-优雅子数组【2023.Q1】
如果一个数组中出现次数最多的元素出现大于等于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:52:05 · 82 阅读 · 0 评论 -
华为OD机试真题-最多等和不相交连续子序列【2023.Q1】
给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。数组中可能存在几组连续子序列,组内的连续子序列互不相交且有相同的和。求一组连续子序列,组内子序列的数目最多。表示子序列的上一个元素位置。通过两层循环计算所有可能的子序列和。在内层循环中,根据条件判断是否需要更新。第一行是一个整数 M,表示满足要求的最多的组内子序列的数目。第一行输入为数组长度 N,1 <= N <= 10^3.第二行为 N 个用空格分开的整数 Ci,表示相同和的子序列个数,原创 2023-05-06 21:13:45 · 101 阅读 · 0 评论 -
华为OD机试真题-单词倒序【2023.Q1】
遍历输入字符串的每个字符。如果当前字符是字母,将其添加到临时字符串中。如果当前字符是空格,将临时字符串反转,然后添加到result中,并加上空格。如果当前字符是标点符号,将临时字符串反转,然后添加到result中,并清空临时字符串。如果已经遍历到最后一个字符,将临时字符串反转,然后添加到result中。三种标点符号,请将句子内每个单词进行倒序,并输出倒序后的语句。这道题主要考察字符串处理,难得是将所有的情况考虑周全。标点符号左右的空格>=0,单词间空格 >0。输入字符串S,S的长度1≤N≤100。原创 2023-05-05 17:28:31 · 427 阅读 · 0 评论 -
华为OD机试真题-数组合并【2023.Q1】
取完的内容会删除掉,如果该行不足固定长度或者已经为空,则直接取出剩余部分的内容放到新的数组中,继续下一行。如样例1,获得长度3,先遍历第一行,获得2,5,6;再遍历第二行,获得1,7,4;再循环回到第一行,获得7,9,5;再遍历第二行,获得3,4;再回到第一行,获得7,按顺序拼接成最终结果。第3~n行是需要合并的数组,不同的数组用回车换行分隔,数组内部用逗号分隔。最大不超过100个元素。第二行是整数数组的数目0<数目<1000,现在有多组整数数组,需要将他们合并成一个新的数组。用来记录合并后的数组。原创 2023-05-05 17:24:58 · 109 阅读 · 0 评论 -
华为OD机试真题-分奖金/单调栈【2023.Q1】
按照工号的顺序往后排列,遇到第一个数字比自己数字大的,那么,前面的员工就可以获得“距离数字差值”的奖金。那么第2个员工的数字10比第1个员工的数字2大,所以,第1个员工可以获得1(10-2) =8。第2个员工后面没有比他数字更大的员工,所以,他获得他分配的随机数数量的奖金,就是10。第3个员工是最后一个员工,后面也没有比他更大数字的员工,所以他得到的奖金是3。遍历每个员工的随机数,若栈为空或当前员工随机数小于等于栈顶员工随机数,将当前员工工号入栈。题目的意思是,找数组的每一个元素的右边第一个比它大的数字。原创 2023-05-07 12:49:43 · 73 阅读 · 0 评论 -
华为OD机试真题-最短木板长度【2023.Q1】
小明有 n 块木板,第 i ( 1 ≤ i ≤ n ) 块木板长度为 ai。小明买了一块长度为 m 的木料,这块木料可以切割成任意块,拼接到已有的木板上,用来加长木板。请问小明加长木板后,最短木板的长度可以为多少?说明: 给第1块木板长度增加1,给第3块木板长度增加2后, 这5块木板长度变为[5,5,5,5,5],最短的木板的长度最大为5。表示可增加的长度,将每块木板的长度存储在列表(boardLengths)中。输出的唯一一行包含一个正整数,表示加长木板后,最短木板的长度最大可以为多少?原创 2023-05-05 17:22:53 · 134 阅读 · 0 评论 -
华为OD机试真题-猜字谜【2023.Q1】
2)字母去重以后是一样的,比如“woood”和“wood”是一样的,它们去重后都是“wod”请你写一个程序帮忙在谜底库中找到正确的谜底。迷面是多个单词,都需要找到对应的谜底,如果找不到的话,返"not found"小干设计了一人简单的清字谈游戏,游戏的迷面是一人错误的单词,比如nwes,玩家需要猜出谈底库中正确的单词。1)变换顺序以后一样的,比如通过变换w和e的顺序,“nwes”跟“news”是可以完全对应的。比较经过去重排序后的谜面单词和谜底单词是否相同,若相同,则将原谜底单词添加到。原创 2023-05-06 21:27:43 · 155 阅读 · 0 评论