- 博客(621)
- 收藏
- 关注
原创 【2025年B卷】OD-100分-斗地主之顺子
例如:{3,4,5,6,7}和{3,4,5,6,7,8,9,10,J,Q,K,A}都是有效的顺子;而{J,Q,K,A,2}、{2,3,4,5,6}、{3,4,5,6}(少于5张)、{3,4,5,6,8}(不连续)等都不是有效的顺子。在这个游戏中,扑克牌由小到大的顺序为:3、4、5、6、7、8、9、10、J、Q、K、A、2。如果能组成顺子,则每行输出一个顺子,顺子中的每张牌用空格分开,且按照顺子首牌的大小从小到大排序。顺子是一种常见的出牌方式,其规则为:由至少5张由小到大连续递增的扑克牌组成,且不能包含2。
2025-06-03 21:41:29
60
原创 【2025年B卷】华为OD-100分-字符串重新排列、字符串重新排序
因此总体时间复杂度为O(n * m log m + n log n),对于题目给定的数据范围(字符串长度不超过1000),这个复杂度是可以接受的。首先,需要对每个单词内部的字母进行排序。这里可以将每个单词转换为字符数组,然后使用内置的排序函数对字符进行重新排列,最后再转回字符串。在不同编程语言中,都有对应的方法来支持自定义排序。空间复杂度为O(n),主要用于存储单词及其出现次数。请输出处理后的字符串,每个单词以一个空格分隔。输出处理后的字符串,每个单词以一个空格分隔。包括以空格分隔的若干个单词,请对。
2025-06-02 19:16:53
143
原创 2025.05.28-华为暑期实习第三题-300分
摘要:K小姐计划攀登一座神秘山峰,给定二维地图表示各点海拔高度。从高度为0的山脚出发,每次可向上下左右移动一步,移动需满足攀爬能力限制:向上移动时目标高度不超过当前高度加能力值,向下移动时不低于当前高度减能力值。求到达最高点(唯一山顶)的最少步数,若无法到达则返回-1。使用广度优先搜索(BFS)算法,从山脚开始探索可达点,首次到达山顶的路径即为最短路径。时间复杂度O(R×C),空间复杂度O(R×C),适用于大规模地图。
2025-05-29 11:09:26
43
原创 2025.05.28-华为暑期实习第二题-200分
摘要 题目要求为A先生规划从起点到终点的最短旅游路径,当存在多条最短路径时选择景点编号字典序最小的路线。解法采用改进的Dijkstra算法,在计算最短路径时维护路径字符串,遇到等长路径时比较字典序。输入包括景点邻接矩阵、酒店信息、起点和终点,输出最优路径的景点编号序列。该方法时间复杂度为O(n²),适用于n≤15的数据规模。 (149字)
2025-05-29 11:08:56
602
原创 2025.05.28-华为暑期实习第一题-100分
本文提出了使用滑动窗口和双端队列解决无线信号发射器选择问题的高效算法。给定n个节点的信号发射器及其用户连接数,算法确定行人经过每个路段时应连接用户数最少的发射器。关键点在于: 每个路段i对应的候选发射器范围为[max(0,i+1-k), min(n-1,i+k)],需要找出其中负载最小的发射器 使用双端队列维护当前窗口的最小值,保证队列按负载递增排序 移除队尾比新元素大的元素以保持单调性 移除过期元素(超出窗口左边界的索引) 时间复杂度为O(n),适用于大规模数据(n≤10^5) 该方案避免了重复扫描窗口的
2025-05-29 11:08:30
631
原创 2025.05.22-得物春招机考真题解析-第三题
这篇文章介绍了机器人导航路径计数问题,主要内容包括: 问题描述:在n×n网格中,机器人从左上角到右下角,只能向右或向下移动,存在两个障碍物,求不同路径数量。 解决方案: 使用动态规划方法 定义dp[i][j]表示到(i,j)位置的路径数 状态转移方程:dp[i][j] = dp[i-1][j] + dp[i][j-1] 处理障碍物位置设为0 算法特点: 时间复杂度O(n²),空间复杂度O(n²) 结果对998244353取模 代码实现:提供了Python、C++和Java三种语言的实现代码,核心逻辑一致。
2025-05-26 19:36:28
400
原创 2025.05.22-得物春招机考真题解析-第二题
摘要:题目描述魔法书页重排问题,初始每页标记对应页码,按照规则对每个x的倍数页进行循环右移操作。算法通过遍历1到n,收集每个x的倍数位置并执行循环右移,时间复杂度为O(n log n)。提供了Python、C++和Java三种实现代码,展示了如何高效模拟这一过程并输出最终每页的标记结果。核心在于理解循环右移操作及其对数组元素的影响。
2025-05-26 19:35:33
1004
原创 2025.05.25-得物春招机考真题解析-第一题
贪心策略是:在保证能够到达目标的前提下,每一步都尽可能选择较小的移动距离。我们需要找到使用设备次数最少的方案,并且在所有最优方案中选择字典序最小的。层,应该如何安排每次使用设备时向上移动的层数?为了便于设备的程序化控制,需要输出字典序最小的移动方案。K小姐是一名快递配送员,她需要在城市中的高楼间进行配送任务。对于每组测试数据,第一行输出最少需要使用设备的次数,第二行输出字典序最小的移动方案。K小姐配备了一台智能升降设备,每次使用这台设备可以帮助她向上移动若干层。由于设备的技术限制,每次移动的层数。
2025-05-26 19:34:56
61
原创 2025.05.22-携程春招机考真题解析-第四题
卢小姐开发了一个二进制编码调整系统,要求判断给定的二进制序列是否可以通过最多一次位置交换操作变成一个能被3整除的特殊编码。系统接收多个测试用例,每个用例包含一个二进制序列。如果序列已经是特殊编码,输出0;如果可以通过一次交换实现,输出交换的位置;否则输出-1。算法通过计算序列的十进制值模3的结果,并根据交换操作对模运算的影响,寻找合适的交换位置。时间复杂度为O(n),适用于大规模数据处理。
2025-05-23 12:09:18
36
原创 2025.05.22-携程春招机考真题解析-第三题
LYA的数据分析系统问题要求将一个包含$n$个数值的数据集分割成两个非空子集,使得两个子集的“指标差异度”最小。指标差异度定义为前半部分子集的总和与后半部分子集的按位或运算结果的差的绝对值。通过预处理前缀和和后缀按位或数组,可以高效地枚举所有可能的分割点,计算最小差异度。该问题的时间复杂度为$O(n)$,空间复杂度为$O(n)$。参考代码提供了Python、C++和Java的实现,展示了如何通过预处理和枚举分割点来解决问题。
2025-05-23 12:08:07
122
原创 2025.05.22-携程春招机考真题解析-第二题
A先生负责的数组优化系统允许通过“协调操作”将数组中的任意两个元素替换为两个新的正整数,且这两个新整数的最大公约数必须等于原元素的最大公约数。目标是通过多次操作使数组元素总和最小。经过分析,最小总和等于数组长度乘以数组所有元素的最大公约数。算法步骤包括计算数组的最大公约数,并返回该值乘以数组长度。时间复杂度为O(n log A),其中A是数组元素的最大值。提供了Python、C++和Java的参考代码实现。
2025-05-23 12:06:06
996
原创 2025.05.22-携程春招机考真题解析-第一题
K小姐设计了一个字母解码系统,通过计算三个关键字母与目标字母之间的“解码复杂度”来评估解码难度。解码复杂度的定义为:每个关键字母到目标字母的距离等于它们在字母表中位置差的绝对值减去1,若结果为负数则取0。总解码复杂度为三个字母的复杂度之和。输入包含多个测试用例,每个用例给出三个关键字母和一个目标字母,要求输出总解码复杂度。解题思路是计算每个关键字母与目标字母的距离,并累加结果。时间复杂度为O(T),空间复杂度为O(1)。代码示例提供了Python、C++和Java的实现。
2025-05-23 12:05:41
43
原创 2025.05.21-华子留学生暑期实习第三题-300分
文章摘要: K小姐计划挑战一座神秘山峰,山峰地图为一个二维数组,每个点代表海拔高度。她只能向上下左右移动,且移动时高度差不能超过她的攀爬能力。从山脚(高度为0)出发,目标是到达山顶(最高点),求最少移动次数,若无法到达则返回-1。该问题可通过广度优先搜索(BFS)解决,通过队列记录搜索路径,并检查每一步的高度差是否满足条件。时间复杂度为O(R×C),空间复杂度为O(R×C),其中R和C为地图的行数和列数。
2025-05-23 12:03:04
226
原创 2025.05.21-华子留学生暑期实习第二题-200分
本文介绍了如何为智能高速公路上的用户规划最佳基站连接方案。问题描述中,高速公路上的每个路口都安装了一个基站,基站的信号覆盖范围为前后各 $k$ 个路口。用户设备应自动连接到覆盖范围内连接人数最少的基站,以提供最佳通信体验。 输入格式:第一行为基站连接人数的数组,第二行为基站的覆盖范围 $k$。输出格式:返回一个数组,表示每个路段上最佳基站的编号。 算法思路:该问题可以转化为滑动窗口最小值问题。通过双端队列(deque)维护当前窗口内的最小连接人数基站,确保在每个路段上快速找到最优基站。算法的时间复杂度为 $
2025-05-23 12:02:18
29
原创 2025.05.21-华子留学生暑期实习第一题-100分
本文介绍了如何解决一个关于量子计算芯片功率等级分配的问题。问题要求找到不超过给定数 $n$ 的最大"稳定功率档位",且该档位的数位和为质数。"稳定功率档位"定义为数字从左到右非递减。文章详细描述了问题的输入输出格式、样例解释以及数据范围,并提供了使用数字DP(Digit DP)的解题思路。通过预处理质数、设计记忆化搜索状态,并在搜索过程中尝试填入符合条件的最大数字,最终重建并输出答案。文章还提供了Python、C++和Java的参考代码,帮助读者理解和实现该算法。
2025-05-23 12:01:40
36
原创 2025.05.21华为暑期实习机考真题解析第三题
本文介绍了如何优化GPU资源租赁问题,以最大化云计算服务商的收益。问题描述中,公司拥有多个GPU核心,需在有限资源下选择最优客户组合,确保总租金收入最大化。规则包括:最多同时分配M个GPU核心,客户需求不重叠,且每个客户要么全部满足需求,要么完全不选择。输入格式包括M、N、R及每位客户的时间段需求,输出为最大租金。 解题思路包括: 离散化处理时间点:收集所有时间段的起点和终点,排序并去重,得到关键时间点。 预处理客户需求:计算每个客户在每个离散区间内的GPU核心需求及总租金贡献。 枚举客户组合:由于客户数量
2025-05-21 21:16:27
734
原创 2025.05.21华为暑期实习机考真题解析第二题
摘要: 本文介绍了如何解决灾区物资调度路径规划问题。问题要求在自然灾害后,从物资集结点到指定受灾乡镇的最短路径长度。输入包括乡镇数量、距离矩阵和目标乡镇编号,输出为最短路径长度。通过分析,该问题可转化为无向带权图的最短路径问题,适合使用Dijkstra算法求解。文章详细解释了Dijkstra算法的步骤,并提供了Python、C++和Java的参考代码。由于节点数量较少(最多21个),基本Dijkstra算法的时间复杂度为O(V²),足以高效解决问题。
2025-05-21 21:15:52
568
原创 2025.05.21华为暑期实习机考真题解析第一题
本文介绍了一个智能云任务分发系统的设计与实现。系统支持两种操作:添加任务和执行任务。任务根据优先级和到达顺序进行调度,优先级数值越小越优先,同优先级任务按到达顺序执行。执行任务时,系统从队列中取出任务并执行,若任务未完成则重新加入队列。系统通过优先队列(堆)实现任务调度,确保高效处理任务。文章提供了Python、C++和Java的参考代码,详细解释了算法的时间复杂度,并通过样例输入输出展示了系统的运行逻辑。该设计适用于大规模任务调度场景,能够有效处理高并发任务。
2025-05-21 21:15:14
565
原创 2025.05.17得物机考笔试真题第三题
文章介绍了如何判断商品价格序列是否有序的问题。K小姐作为电商平台的数据分析师,需要分析价格序列是否单调递增或递减。输入包括序列长度和价格序列,输出为“sorted”或“unsorted”。解题思路是通过遍历序列,检查相邻元素的大小关系,维护递增和递减的标志变量。如果序列满足单调性,则输出“sorted”,否则输出“unsorted”。文章还提供了Python、C++和Java的参考代码,展示了如何实现这一逻辑。算法的时间复杂度为O(n),空间复杂度为O(1)。
2025-05-18 18:14:54
67
原创 2025.05.17得物机考笔试真题第二题
《魔法消除》是一款字符串消除游戏,玩家通过点击消除相邻的两个相同字符,目标是将字符串变得尽可能短。题目要求输出最终消除后的字符串,若为空则输出0。解题思路是使用栈模拟消除过程:遍历字符串,若当前字符与栈顶字符相同则弹出栈顶,否则压入栈中。最终栈中剩余的字符即为结果。该算法的时间复杂度和空间复杂度均为O(n),适用于字符串长度不超过300,000的情况。参考代码提供了Python、C++和Java的实现。
2025-05-18 18:14:21
239
原创 2025.05.17得物机考笔试真题第一题
LYA 需要从第 1 块浮石跳到第 $n$ 块浮石,每块浮石上的魔法数字 $a_i$ 决定了她的跳跃范围。正数 $a_i$ 允许她向前跳,负数 $a_i$ 则允许她向后跳。每次跳跃消耗 1 单位时间,目标是找到最短时间到达终点,若无法到达则输出 -1。该问题可以转化为图论中的最短路径问题,使用广度优先搜索(BFS)算法求解。通过构建有向图,BFS 能够高效地找到从起点到终点的最短路径。代码实现中,使用队列进行 BFS 遍历,并记录每个节点的最短距离,最终输出终点的距离或 -1。
2025-05-18 18:13:46
132
原创 2025.05.17淘天机考笔试真题第三题
摘要 K小姐设计的树形公园由多个花坛组成,每个花坛中的花朵数量为整数。她的目标是通过删除若干条连接花坛的小路,将公园分割成多个独立区域,使得每个区域内的花朵总数都是偶数。问题要求计算对于每个$k (1 \leq k \leq n-1)$,删除$k$条小路后满足条件的方案数。若总奇数花坛数为奇数,则无解;否则,通过DFS计算每个子树中的奇数花坛数量,并确定“好边”(删除后两侧连通块奇数花坛数均为偶数的边)。最终方案数为从“好边”中选$k$条的组合数。时间复杂度为$O(n)$。
2025-05-17 18:52:33
724
原创 2025.05.17淘天机考笔试真题第二题
本文介绍了如何构造一个音律序列,使得相邻音符的音高差形成一个等差数列。给定音符数量 ( n ) 和公差 ( k ),要求判断是否存在这样的序列,并输出符合条件的排列。通过分析,发现只有当 ( k = 1 ) 或 ( k = -1 ) 时,才能构造出合法的序列。对于 ( k = 1 ),可以从中间元素开始交替向两边扩展;对于 ( k = -1 ),可以从一端开始交替向另一端构造。文章提供了 Python、C++ 和 Java 的参考代码,帮助读者实现这一算法。
2025-05-17 18:49:11
83
原创 2025.05.17淘天机考笔试真题第一题
本文介绍了如何构造一个满足特定条件的“魔法棋盘”。棋盘由 $2 \times n$ 的格子组成,每行必须包含 $1$ 到 $n$ 的所有数字,且相邻格子中的数字必须互质。通过利用相邻整数互质的性质,提出了一种简单的构造方法:第一行按自然顺序排列,第二行循环右移一位。该方法的时间复杂度为 $O(n)$,适用于 $1 \leq n \leq 10^5$ 的范围。文章还提供了 Python、C++ 和 Java 的参考代码,展示了如何实现这一构造过程。
2025-05-17 18:47:33
82
原创 2025.05.14华为机考笔试题-第三题-300分
本文介绍了卢小姐在灾后物资分配中心的工作场景,提出了一种基于滑动窗口算法的物资分配优化系统。该系统通过处理援助点提供的物资车数和灾民需求队列,寻找需求总和不超过当前物资的最长连续子队伍进行分配。文章详细描述了输入输出格式、样例解释、数据范围以及解题思路,并提供了Python和C++的参考代码。核心思想是通过滑动窗口方法动态调整子序列范围,确保高效分配物资并减少等待队伍长度。最终输出分配次数和未分配到物资的灾民数。该方法的时间复杂度为O(n * m),适用于大规模数据处理。
2025-05-15 15:46:03
1374
原创 2025.05.14华为机考笔试题-第二题-200分
摘要 探险家A先生需要穿越一个$k \times k$的山地区域,从左上角出发,到达右侧边界。移动规则包括只能向右或向下移动,相邻位置高度差不超过1,且经过每个位置会消耗对应体力值。目标是找到最省体力的路径。输入为矩阵大小$k$和高度矩阵,输出为最小体力消耗值,若无可行路径则返回-1。解题思路采用动态规划,定义状态$dp[i][j]$为到达位置$(i,j)$的最小体力值,通过遍历矩阵更新状态。最终在最右侧列中寻找最小值作为答案。时间复杂度为$O(k^2)$,空间复杂度为$O(k^2)$。代码实现包括Pyth
2025-05-15 13:25:21
1012
原创 2025.05.14华为机考笔试题-第一题-100分
文章摘要:本文介绍了一个优先级任务调度系统的设计与实现。系统支持添加任务、执行高优先级任务和更新任务优先级三种操作。通过使用优先队列或有序集合来维护任务池,确保任务按优先级排序。添加操作将任务加入池中,更新操作重新调整任务优先级并恢复已执行任务,执行操作则取出并移除最高优先级的任务。文章提供了Python和C++的参考代码,并分析了时间复杂度。系统适用于需要动态调整任务执行顺序的场景,如大厂笔试中的任务调度问题。
2025-05-15 13:24:36
318
原创 2025.05.11拼多多机考真题算法岗-第四题
这个题目的关键在于理解元素之间的依赖关系,并使用并查集高效地构建依赖图,再通过树形DP计算可能的插入序列数量。卢小姐正在开发一款名为"记忆碎片"的游戏,玩家需要分析混乱的记忆数据,推测出形成这些记忆的原始序列。她想知道有多少种可能的存储记忆碎片的顺序,使得最终形成的记忆数据与给定的数组完全一致。这个题意很复杂,但本质上是在问:对于一个哈希表的最终状态,有多少种不同的插入顺序可以得到这个状态?举个例子:在样例1中,元素 7 存储在位置 0,而它的理想位置是。,表示游戏中的记忆数据,其中。
2025-05-13 17:50:26
385
原创 2025.05.11拼多多机考真题算法岗-第三题
本文介绍了智能城市资源调度系统中的死锁检测问题。系统管理多个服务模块,每个模块持有和等待特定资源,运行后释放资源。当多个模块互相等待资源时,可能发生死锁。问题要求找出处于死锁状态的模块。通过模拟资源分配过程,使用类似银行家算法的策略,逐步满足模块的资源需求,并标记无法运行的模块。算法的时间复杂度为O(m × (n log n)),适用于大规模数据。最终输出死锁模块的数量及其编号。
2025-05-13 16:51:46
271
原创 2025.05.11拼多多机考真题算法岗-第二题
本文介绍了如何通过贪心算法解决代码块解析器问题,目标是计算处理由括号组成的字符串的最小操作次数。操作包括读取单个字符或一次性读取一个有效的括号子串。解题思路是从字符串左侧开始,尽可能找到最长的有效括号子串,将其作为一个整体处理,减少操作次数。对于无法构成有效子串的字符,则逐个处理。算法使用计数器判断子串是否有效,时间复杂度为O(n²),适用于字符串长度不超过10,000的情况。文章还提供了Python、C++和Java的参考代码实现。
2025-05-13 16:50:13
75
原创 2025.05.11拼多多机考真题算法岗-第一题
本文介绍了一个关于图书馆藏书排序管理的问题。K小姐需要将图书馆的书籍按照特定规则排序,规则是先按书名长度比较,长度相同则按字典序比较。给定若干组测试数据,每组数据包含一个书籍序列,要求计算该序列中最长的有序连续子序列的长度。文章详细描述了问题的输入输出格式、样例解释以及数据范围,并提供了题解思路和参考代码(Python、C++、Java)。题解的核心思路是通过一次遍历数组,检查相邻元素是否满足排序条件,从而找到最长的有序子序列。该算法的时间复杂度为O(n),空间复杂度为O(1),能够高效处理所有测试用例。
2025-05-13 16:48:12
99
原创 2025.05.10京东机考真题算法岗-第三题
文章摘要: 本文介绍了一个动态规划问题,描述了一位忍者LYA在两排不同高度的房屋之间进行飞檐走壁训练的情景。LYA可以通过六种移动方式在不同房屋之间移动,每种方式消耗的时间不同。目标是找到从最左侧房屋到最右侧房屋的最短时间路径。文章详细分析了问题的状态定义、状态转移方程以及实现细节,并提供了Python、C++和Java的参考代码。通过动态规划算法,可以在O(n)的时间复杂度内解决该问题,适用于大规模数据范围。
2025-05-13 16:42:49
85
原创 2025.05.10京东机考真题算法岗-第二题
A先生每天需从n个任务中选择一个完成,初始每个任务耗时1小时。公司每天会调整某个任务的耗时,增加c小时。A先生每天选择耗时最短的任务,以尽早下班。问题要求每次调整后,输出当天最早下班时间。 解题思路是维护一个有序数据结构(如multiset或TreeSet),存储所有任务的耗时。每次调整时,更新任务的耗时,并快速找到最小值。时间复杂度为O((n+m) log n),适用于n, m < 10^5的情况。参考代码提供了Python、C++和Java的实现,展示了如何通过有序集合高效处理任务耗时的更新和查询
2025-05-13 16:34:07
94
原创 2025.05.10京东机考真题算法岗-第一题
本文介绍了如何通过删除字符串中的字符来获得字典序最小的字符串。问题描述中,给定一个长度为 $n$ 的字符串,要求删除恰好 $m$ 个字符,使得剩余字符串的字典序最小。解题思路采用单调栈的方法,通过遍历字符串,优先删除较大的字符,确保栈中的字符保持单调不减的顺序。算法的时间复杂度为 $O(n)$,适用于大规模数据处理。文章提供了Python、C++和Java的参考代码,帮助读者理解和实现该算法。
2025-05-13 16:33:30
130
原创 2025.05.11阿里云机考真题算法岗-第三题
A先生在「镜像追踪」游戏中,初始位于网格地图的中心,镜像怪则位于其相邻位置。游戏规则要求A先生通过移动,使镜像怪进入爆炸陷阱区域以消灭它。由于镜像怪总是与A先生做相反移动,解题关键在于利用镜像关系。通过广度优先搜索(BFS)找出A先生可到达的所有空地,然后检查每个爆炸陷阱的镜像位置是否在A先生的可达范围内。最终统计可用的爆炸陷阱数量。该算法的时间复杂度和空间复杂度均为 (O(n \times m)),适用于给定的数据范围。
2025-05-13 14:55:32
479
原创 2025.05.11阿里云机考真题算法岗-第二题
本文介绍了如何计算时间序列的自相关函数,这是时间序列分析中的一个重要指标。自相关函数衡量了时间序列在不同时间延迟下与自身的相关性。文章详细描述了自相关函数的定义、输入输出格式、样例解释以及解题步骤。通过计算时间序列的均值和方差,可以进一步计算每个时间延迟下的自相关系数。文章还提供了Python、C++和Java的参考代码,帮助读者实现这一计算过程。该算法的时间复杂度为O(n^2),适用于较短的时间序列数据。
2025-05-13 11:49:22
69
原创 2025.05.11阿里云机考真题算法岗-第一题
本文介绍了一个关于魔法环加权切割的问题。卢小姐拥有一个魔法环,环上有 $n$ 个数字,她希望通过切割环并计算加权交替和来获得最大魔法能量。加权交替和定义为序列中每个元素乘以其位置,符号交替变化。问题要求在所有可能的切割位置中找到最大加权交替和。解题思路是枚举所有切割位置,计算每个位置的加权交替和,并更新最大值。由于 $n$ 最大为 2000,$O(n^2)$ 的算法复杂度是可接受的。文章提供了 Python、C++ 和 Java 的参考代码,展示了如何通过取模运算直接访问原始序列中的元素,避免显式构建新序列
2025-05-13 11:48:25
81
原创 2025.05.11阿里云机考真题研发岗-第三题
文章摘要: 卢小姐经营的景区内有n个景点,景点之间通过单向道路连接形成树结构。每个景点有一个吸引力指数a_i。游客对“精品路线”感兴趣,定义为路径上最高吸引力指数为M,且起点和终点的吸引力指数都等于M,路径上其他景点的吸引力指数不超过M。题目要求统计景区中所有满足条件的精品路线数量。解题思路是按吸引力指数从小到大处理景点,使用并查集维护连通性,统计每个连通块中满足条件的路径数。算法时间复杂度为O(n log n),空间复杂度为O(n)。文章提供了Python和C++的参考代码。
2025-05-13 11:47:10
26
原创 2025.05.11阿里云机考真题研发岗-第二题
本文介绍了一种名为“反对角线反转”的矩阵变换操作,适用于数据可视化系统中的网格矩阵处理。该操作要求对矩阵中每条反对角线(满足 $j - i = k$ 的单元格)上的元素进行反转排列,即将从右上到左下的顺序倒置。文章详细描述了问题的输入输出格式,并提供了样例解释。解题思路包括遍历所有可能的 $k$ 值,收集并反转每条反对角线上的元素,最后将结果填回原位置。时间复杂度为 $O(n \times m)$,空间复杂度为 $O(n \times m)$。文章还提供了Python、C++和Java的参考代码,帮助读者实
2025-05-13 11:45:49
27
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人