- 博客(440)
- 收藏
- 关注
原创 E卷-恢复数字序列(100分)
对于一个由连续正整数组成的序列,可以将其拼接成一个字符串,然后将字符串中的部分字符打乱顺序。例如,序列 8 9 10 11 12 拼接成的字符串为 89101112,打乱一部分字符后可能得到 90811211,其中原来的正整数 10 被拆成了 0 和 1。现给定一个按上述规则得到的打乱字符的字符串,请将其还原成连续正整数序列,并输出序列中最小的数字。这道题的核心在于如何从打乱的字符串中还原出原始的连续正整数序列。输出一个整数,表示还原后的连续正整数序列中最小的数字。
2024-12-30 20:14:55
110
原创 E卷-分披萨(100分)
为了公平起见,两人商量了一个取披萨的规则:从K小姐开始,轮流取披萨。除了第一块披萨可以随意选取外,其余的披萨必须从上一个人取完的披萨的相邻位置开始取。A先生每次都会选择剩下披萨中最大的一块,而K小姐知道A先生的这个特点。现在给定每块披萨的大小,请问K小姐最多能够取到多少大小的披萨呢?K小姐和A先生到披萨店点了一份圆形披萨,并嘱咐店员将披萨切成大小相同的偶数块。块披萨时,K小姐能够取到的最大披萨大小之和。块披萨时,K小姐能够取到的最大披萨大小之和。,那么只剩下一块披萨,K小姐直接取走,因此。
2024-12-26 13:38:59
25
原创 E卷-关联子串(100分)
但是,考虑到字符串长度可能达到 100000,这种方法显然会导致时间复杂度过高。实际上,这个问题可以通过滑动窗口(也称为尺取法)来高效解决。中每个字符的出现次数,可以使用一个长度为 26 的数组。中的字符经过排列组合后的字符串中,有一个是。指针扩大窗口,同时更新当前窗口中字符的计数。的长度时,检查窗口中的字符是否恰好包含了。的组合子串,请返回最小的起始位置。中所有字符,且字符数量一致即可。,因为使用了固定大小的数组来计数。的关联子串,请返回子串在。的所有排列,只需要确保。上滑动,维护一个窗口。
2024-12-26 13:38:28
25
原创 E卷-荒岛求生(100分)
战斗力较强的人能够活下来,但会损失与对手相同的战斗力。这种方法的时间复杂度是 O(N),其中 N 是输入数组的长度。解题的关键 在于理解人们相遇和决斗的规则,并找到一种高效的方法来处理这些相遇和决斗。每个整数的正负表示逃生方向(正表示向右逃生,负表示向左逃生),绝对值表示战斗力。可以想象所有人都在向左移动,这样就可以从左到右遍历输入数组,依次处理每个人的情况。空间复杂度是 O(N),最坏情况下(所有人都向右逃生)栈会存储所有的人。最后,栈中剩余的人数加上成功向左逃生的人数,就是最终的答案。
2024-12-26 13:37:25
28
原创 【秋招笔试-支持在线评测】11.13花子_海外版秋招(已改编)-三语言题解
🍭 大家好这里是,一起备战大厂笔试💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历✨ 本系列打算持续跟新春秋招笔试题。
2024-12-13 11:17:35
188
原创 【秋招笔试-支持在线评测】11.06花子秋招_留学生版(已改编)-三语言题解
🍭 大家好这里是,一起备战大厂笔试💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历✨ 本系列打算持续跟新春秋招笔试题。
2024-12-13 11:16:17
120
原创 E卷-查找接口成功率最优时间段(100p)
她将一段时间内的接口失败率表示为一个数组,数组中每个元素都是单位时间内的失败率数值,取值范围为。如果存在多个最长时间段,则输出多个下标对,下标对之间用空格分隔,并按照下标对的起始下标从小到大排序。最后,将满足条件的最长区间下标对按要求格式输出即可。第二行为一个整数数组,表示各个时间段的失败率,数组元素之间用空格分隔。,表示某个时间段内可以容忍的平均失败率,即平均失败率小于等于。,计算该区间的元素和以及区间长度。的最长连续时间段的数组下标对,格式为。,则更新最长区间长度以及对应的区间下标。
2024-12-09 18:47:51
155
原创 E卷-货币单位换算(100分)
每条记录可能包含单独的元、单独的分,或者元与分的组合。要求将这些货币全部换算成人民币分(fen)后进行汇总,汇总结果仅保留整数,小数部分舍弃。元和分的换算关系都是1:100,如下:1CNY=100fen(1元=100分)输出一个整数,表示将所有货币转换成人民币分(fen)后的汇总结果。对于每一条货币记录,先将其转换为该货币的最小单位(如分、cents等),然后根据汇率转换为人民币分。这道题目的核心在于正确解析输入的货币字符串,并根据不同货币的汇率进行转换。行,每行包含一条货币记录,格式为数字加单位。
2024-12-09 18:47:00
54
原创 E卷-选修课
可以使用字典(哈希表)来存储学生信息,以学号为键,值包含班级、两门课的成绩等信息。这个解法的时间复杂度主要来自于排序步骤,为 O(nlogn),其中 n 是学生的总数。考虑到题目给出的数据范围(学生数不超过 2000),这个复杂度是可以接受的。现有两门选修课,每门选修课都有一部分学生选修,每个学生都有选修课的成绩。输出同时选修了两门选修课的学生的学号。每行数据中,学生之间以英文分号分隔,每个学生的学号和成绩以英文逗号分隔。使用另一个字典,以班级编号为键,值为该班级所有同时选修两门课的学生列表。
2024-12-07 10:45:14
178
原创 E卷-预订酒店
他在网上搜索到了各种价位的酒店,这些酒店的价格存储在一个长度为。,分别表示酒店数量、需要筛选的酒店数量和卢小姐的心理价位。),并按照价格从低到高的顺序打印这些酒店的价格。现在,请你帮助卢小姐从这些酒店中筛选出。个酒店的价格,按照从低到高的顺序排列。这道题目的核心是找出最接近目标价格的。个酒店进行排序,时间复杂度为。小的差值,这样就可以在。的时间复杂度内完成选择。对于排序,只需要对选出的。个整数,表示筛选出的。,表示每家酒店的价格。,对于给定的数据范围()来说是可以接受的。
2024-12-07 10:44:43
342
原创 E卷-分割数组的最大差值
的整数组合在一起所需的最少交换次数。组合在一起指满足条件的数字相邻,不要求相邻后在数组中的具体位置。这道题目可以使用滑动窗口的方法来解决。核心思想是找到一个连续的子数组,使得这个子数组包含了所有小于。我们只需要遍历一次数组,同时滑动窗口也只需要移动。),这个算法是高效的,可以在合理的时间内得出结果。第一行输入一个整数数组,数组元素之间用空格分隔。这个数就是将该窗口内的元素全部变为小于。输出一个整数,表示最少交换次数。的数,并且需要交换的次数最少。就是我们滑动窗口的大小。的数所需的交换次数。
2024-12-07 10:44:08
90
原创 E卷-最少交换次数
的整数组合在一起所需的最少交换次数。组合在一起指满足条件的数字相邻,不要求相邻后在数组中的具体位置。这道题目可以使用滑动窗口的方法来解决。核心思想是找到一个连续的子数组,使得这个子数组包含了所有小于。我们只需要遍历一次数组,同时滑动窗口也只需要移动。),这个算法是高效的,可以在合理的时间内得出结果。第一行输入一个整数数组,数组元素之间用空格分隔。这个数就是将该窗口内的元素全部变为小于。输出一个整数,表示最少交换次数。的数,并且需要交换的次数最少。就是我们滑动窗口的大小。的数所需的交换次数。
2024-12-07 10:43:37
84
原创 E卷-IPv4地址转换成整数
这道题目要求将虚拟 IPv4 地址转换为整数,同时需要处理各种非法输入的情况。这个解法的时间复杂度是 O(n),其中 n 是输入字符串的长度。现给出一个以字符串形式表示的虚拟 IPv4 地址,要求将其转换为对应的整数。输出一行,为转换后的整数或 “invalid IP”(如果输入非法)。如果输入的 IPv4 地址非法,则返回 “invalid IP”。有一种虚拟 IPv4 地址,由 4 个小节组成,每节的范围为。输入一行,为虚拟 IPv4 地址格式的字符串。最后,返回计算得到的整数结果。
2024-12-07 10:43:06
61
原创 E卷-单向链表中间节点-100分
行,每行包含三个部分,格式为:节点地址 节点值 下一个节点地址。其中,节点地址为 5 位数字,节点值为整数,下一个节点地址为 5 位数字或 -1(表示空指针)。想象一下,如果快指针的速度是慢指针的两倍,那么当快指针走完全程时,慢指针正好走了一半。可以使用哈希表存储节点信息,键为节点地址,值为节点对象(包含值和下一个节点地址)。给定一个单向链表,求链表中间节点的值。遍历结束后,慢指针指向的就是中间节点(偶数个节点时是偏右的中间节点)第一行包含两个整数,分别表示链表头节点的地址和后续输入的节点数。
2024-12-06 14:42:11
129
原创 E卷-数字涂色-100分
为了让黑板报既美观又有学习意义,老师要求同种颜色的所有数都可以被这种颜色中最小的那个数整除。这个方法之所以有效,是因为它保证了每种颜色的最小数一定是该颜色中所有数字的因子。同时,由于是按照升序遍历的,所以也保证了使用的颜色数量是最少的。这样做的好处是,从左到右遍历时,当前数字一定是未处理数字中最小的。遍历排序后的数列,对于每个还没有被着色的数字,将它作为一种新颜色的最小数。然后,继续向右遍历,将所有能被这个最小数整除的数字都标记为这种颜色。个用空格分隔的正整数,表示黑板上各个数字的值。
2024-12-06 14:41:38
342
原创 E卷-最大值-100分
我们可以在最后检查一下,如果结果的第一个字符是 ‘0’,就直接返回 “0”。解决这个问题的关键是理解:对于两个数 a 和 b,如果 ab > ba,那么 a 应该排在 b 前面。这里的 ab 和 ba 指的是将 a 和 b 拼接成的数字。如果按照数字大小排序,我们会得到 330,但实际上 303 才是更大的数。乍一看,我们可能会认为直接按照数字大小排序就可以了,但实际上这样做是不对的。给定一组非负整数,需要重新排列这些整数的顺序,将它们拼接成一个最大的整数。输入包含一行,为空格分隔的若干个非负整数。
2024-12-06 14:41:03
43
原创 E卷-计算网络信号200分
在一个网格地图中,网络信号经过传递会逐层衰减,且遇到阻隔物无法直接穿透。现需要计算某个位置的网络信号值。使用 BFS 的原因是它能够保证在遍历到某个位置时,该位置的信号强度是最大的。这是因为 BFS 是按照距离信号源的远近顺序进行遍历的。网络信号向上下左右相邻的网格传播时,强度衰减 1。要求输出指定位置的网络信号值。关键在于理解信号的传播方式和如何处理阻隔物。输出一个整数,表示指定位置的网络信号值。如果网络信号未覆盖到该位置,输出 0。个用空格分隔的整数,表示网格地图的状态。,表示网格地图的行数和列数。
2024-12-06 14:40:37
229
原创 【OD-支持在线评测】- IPv4地址转换成整数(100分)
这道题目要求将虚拟 IPv4 地址转换为整数,同时需要处理各种非法输入的情况。这个解法的时间复杂度是 O(n),其中 n 是输入字符串的长度。如果分割后的小节数不是 4,则直接返回 “invalid IP”。现给出一个以字符串形式表示的虚拟 IPv4 地址,要求将其转换为对应的整数。输出一行,为转换后的整数或 “invalid IP”(如果输入非法)。如果输入的 IPv4 地址非法,则返回 “invalid IP”。有一种虚拟 IPv4 地址,由 4 个小节组成,每节的范围为。
2024-11-26 21:08:33
91
原创 【秋招笔试-支持在线评测】11.13花子秋招(已改编)-三语言题解
🍭 大家好这里是,一起备战大厂笔试💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历✨ 本系列打算持续跟新春秋招笔试题。
2024-11-13 21:03:17
180
原创 【秋招笔试-支持在线评测】11.06花子秋招(已改编)-三语言题解
🍭 大家好这里是,一起备战大厂笔试💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历✨ 本系列打算持续跟新春秋招笔试题。
2024-11-12 09:36:31
121
原创 【OD-支持在线评测】周末爬山(200分)
K小姐准备在周末去爬山锻炼。山地图用二维数组表示,其中 0 代表平地,1 到 9 表示山的高度。K小姐每次爬山或下山时,高度差不能超过。输出两个整数,以空格分隔。第一个整数表示K小姐能爬到的最高峰高度,第二个整数表示到达该最高峰的最短步数。他每次只能向上、下、左、右四个方向之一移动一格。位置出发,请计算他能爬到的最高峰高度以及到达该高峰的最短步数。如果没有可以爬的更高的山峰,则高度和步数都输出 0。如果存在多个相同高度的最高峰,输出步数较短的那个。个整数(以空格分隔),表示。
2024-11-02 07:30:53
165
原创 【OD-支持在线评测】电脑病毒感染(200分)
K小姐是一家公司的网络管理员,最近她发现公司内部的局域网出现了电脑病毒。经过调查,K小姐了解到病毒是从某一台电脑开始传播的,通过电脑之间的网络连接,病毒会感染其他电脑。从初始感染病毒的电脑出发,将其到其他所有电脑的最短感染时间求出来,然后取其中的最大值即可。她想知道,最少需要多长时间,病毒才能感染所有的电脑。如果无法感染所有电脑,则输出。输出一个整数,表示病毒传播到所有电脑所需的最短时间。如果无法感染所有电脑,则输出。之间存在网络连接,如果电脑。,表示电脑数量和网络连接数量。,表示最初感染病毒的电脑编号。
2024-11-02 07:29:22
62
原创 【OD-支持在线评测】文本统计分析(200分)
字符串内的内容(包括分号和注释符号)都不应该影响文本计数。这个解法的时间复杂度是 O(n),其中 n 是输入文本的总字符数。需要特别注意处理空文本的情况。连续的分号或者分号之间只有空白字符的情况都不应该被计入有效文本。最后,由于最后一条文本可以没有分号,所以需要特别检查最后是否还有未以分号结尾的有效文本。有一个文件,包含以特定规则编写的文本。这道题目的核心在于正确识别有效的文本语句,同时处理各种特殊情况。首先,需要处理字符串中的转义字符,避免它们影响后续的判断。输出一个整数,表示文件中包含的有效文本数量。
2024-11-02 07:27:59
67
原创 【OD-支持在线评测】项目排期(200分)
每个需求的工作量不同,且每个需求只能由一个开发人员独立完成,不能多人合作。假定各个需求之间无任何先后依赖关系,设计算法帮助项目经理进行工作安排,使整个项目能用最少的时间交付。本题可以通过二分查找来确定最少的天数。先对工作量进行降序排序,然后采用二分法来查找最短的时间。个需求的工作量,单位为天,用空格隔开。所以,最快完成所有工作的天数为28天。个需求,每个需求的工作量分别为。个开发人员,项目经理接到了。第二行输入为项目组人员数量。输出整个项目最快完成的天数。
2024-11-02 07:23:18
54
原创 【OD-支持在线评测】字符串拼接(200分)
然后从字符集合的第一个字符开始,尝试将它加入结果字符串。如果当前字符没有被使用过,且与结果字符串的最后一个字符不同,就将它加入结果字符串,并标记为已使用。在尝试每一步时,我们都需要跳过重复的字符,以避免重复计算。请帮助LYA计算出,给定的字符集合能拼接出多少种满足条件的字符串。接下来,我们继续尝试从剩余的未使用字符中选择下一个字符,直到结果字符串的长度达到。从字符集合中任意取出字符(每个字符只能用一次),拼接成一个长度为。输出一个整数,表示能拼接出的满足条件的字符串个数。的字符串,要求相邻的字符不能相同。
2024-11-02 07:21:52
48
原创 【OD-支持在线评测】智能驾驶(200分)
每次从队列中取出一个位置,如果该位置是终点,则说明以当前的初始油量可以到达终点;地图上的每个位置都有一个数字,表示汽车经过该位置需要消耗的油量。然后,我们在这个范围内进行二分查找,每次选择一个中间值作为初始油量,判断以这个初始油量是否能够从起点到达终点。输出一个整数,表示汽车从起点出发,确保能够到达终点,初始时油箱里至少需要的油量。LYA想知道,汽车从起点出发,确保能够到达终点,初始时油箱里至少需要多少油量。通过二分查找,我们可以找到最小的初始油量,使得汽车能够从起点到达终点。第一行包含两个正整数。
2024-11-02 07:20:24
261
原创 【秋招笔试-支持在线评测】10.30花子秋招(已改编)-海外留学生版
🍭 大家好这里是,一起备战大厂笔试💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历✨ 本系列打算持续跟新春秋招笔试题。
2024-10-31 16:02:10
88
原创 【秋招笔试-支持在线评测】10.30花子秋招(已改编)-三语言题解
🍭 大家好这里是,一起备战大厂笔试💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历✨ 本系列打算持续跟新春秋招笔试题。
2024-10-30 21:31:03
527
原创 【OD-支持在线评测】简易压缩算法
卢小姐发明了一种简单的字符串压缩方法:对于由小写英文字母组成的字符串,将连续出现超过两次的字母压缩为"出现次数+该字母"的形式,其他部分保持不变。你能帮她编写一个函数,判断输入的字符串是否为有效的压缩字符串,并在有效时输出解压缩后的结果吗?“4d” 解压缩为 “dddd”,因此完整的解压缩结果为 “ddddff”。压缩字符串中不应出现特殊字符 ‘@’ 和大写字母 ‘A’,因此输入无效。如果输入是有效的压缩字符串,输出解压缩后的原始字符串。两个连续的 ‘d’ 不需要压缩,因此输入无效。如果输入无效,输出 “
2024-10-30 20:45:43
53
原创 【支持在线评测】机器人活动区域
的网格中任意位置,每个网格包含一个非负整数编号,当相邻网格的数字编号差值的绝对值小于等于 1 时,机器人可以在网格间移动。可以将网格看作一个图,每个格子是一个节点,相邻且差值不超过 1 的格子之间有一条边。图中标记为 * 的区域,相邻网格差值绝对值都小于等于 1,且为最大区域,对应网格点数目为 6。输出 1 行,包含 1 个数字,表示最大活动区域的网格点数目,行首行尾无多余空格。实现时,可以使用一个二维数组来存储网格数据,另一个二维数组来标记已访问的格子。表示),数值间用单个空格分隔,行首行尾无多余空格。
2024-10-28 10:59:36
194
原创 【支持在线评测】爱吃蟠桃的孙悟空
这个方法之所以有效,是因为吃桃的速度与吃完所有桃子所需的时间成反比。对于样例1,孙悟空以每小时吃5个蟠桃的速度,可以在5小时内吃完所有蟠桃。孙悟空想要尽可能慢慢品尝蟠桃,但又要确保在守卫回来之前吃完所有的桃子。对于每个中间值(速度),检查是否能在规定时间内吃完所有蟠桃。对于样例3,孙悟空需要以每小时至少吃23个蟠桃的速度,才能在6小时内吃完所有蟠桃。对于样例2,即使孙悟空以最快速度吃桃,也无法在3小时内吃完所有蟠桃,因此输出0。,孙悟空会把这棵树上的桃子全部吃完,然后在这一小时内不再吃其他树上的桃子。
2024-10-28 10:58:16
55
原创 【支持在线评测】二叉树计算
给定一个二叉树,请生成一个新的二叉树,使得新树中的每个节点的值等于原始树中该节点的左子树和右子树所有节点值的和。左子树表示该节点左侧叶子节点为根节点的一颗新树;右子树表示该节点右侧叶子节点为根节点的一颗新树。首先,需要根据给定的中序遍历和前序遍历序列重建原始二叉树。这是因为只有重建出原始树的结构,才能正确计算每个节点的子树和。在重建树的过程中,同时计算每个节点的子树和。输出一行整数,表示生成的新二叉树(求和树)的中序遍历序列,以空格分隔。最后,对重建并计算好子树和的树进行中序遍历,输出结果。
2024-10-28 10:57:15
140
原创 【秋招笔试-支持在线评测】10.23花子秋招(已改编)-海外留学生版
🍭 大家好这里是,一起备战大厂笔试💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历✨ 本系列打算持续跟新春秋招笔试题。
2024-10-24 20:41:14
86
原创 【秋招笔试-支持在线评测】10.23花子秋招(已改编)-三语言题解
🍭 大家好这里是,一起备战大厂笔试💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历✨ 本系列打算持续跟新春秋招笔试题。
2024-10-24 17:07:59
382
原创 【秋招笔试-支持在线评测】10.16花子秋招(已改编)-海外留学生版
🍭 大家好这里是,一起备战大厂笔试💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历✨ 本系列打算持续跟新春秋招笔试题。
2024-10-23 10:01:27
78
原创 E-跳格子3(200p
直接计算上述方程的时间复杂度是 O(nk),对于大规模数据会超时。维护一个单调递减的双端队列,队列中存储的是格子的索引。这道题目本质上是一个动态规划问题,但需要用到单调队列来优化时间复杂度。对于第 i 个格子,可以从前面 k 个格子中的任意一个跳过来。个格子,每个格子上有特定的分数。请计算小明跳到终点(最后一个格子)时能获得的最大得分。定义 dp[i] 为跳到第 i 个格子时能获得的最大得分。输出一个整数,表示小明能获得的最大得分。,表示每次跳跃的最大步长。,表示每个格子的分数。,表示格子的总数量。
2024-10-22 19:07:41
173
原创 E-寻找符合要求的最长子串(200p)
这道题目可以使用滑动窗口的方法来解决。滑动窗口是一种常用的字符串处理技巧,特别适合处理子串相关的问题。输出一个整数,表示满足条件的最长子串的长度。如果不存在满足条件的子串,则输出 0。第一行包含一个字符,表示指定不能包含的字符,取值范围为 [0-9a-zA-Z]。,每个字符的取值范围为 [0-9a-zA-Z]。请计算满足上述条件的最长子串的长度。
2024-10-22 19:06:34
99
原创 E-云短信平台优惠活动(200p)
这道题目本质上是一个完全背包问题。问题的关键在于如何在给定预算内,通过不同面额的充值方式获得最多的短信条数。某云短信厂商为庆祝国庆,推出充值优惠活动。现给出客户预算和优惠售价序列,求客户最多可获得的短信总条数。创建一个长度为 M+1 的数组 dp,其中 dp[i] 表示预算为 i 时能获得的最大短信条数。初始化 dp = 0,表示预算为 0 时无法获得任何短信。最终,dp[M] 就是在预算 M 内能获得的最大短信条数。输出一个整数,表示最多可获得的短信条数。
2024-10-22 19:05:13
105
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅