- 博客(111)
- 收藏
- 关注
原创 华为OD机试_2025 B卷_亲子游戏(Python,200分)(附详细解题思路)
BFS队列设计:存储位置和糖果总数访问记录:跟踪每个位置的最小步数和最大糖果障碍物处理:跳过不可达格子终止条件:找到目标后继续处理同级路径。
2025-08-02 09:15:00
1365
原创 华为OD机试_2025 B卷_观看文艺汇演问题(Python,200分)(附详细解题思路)
高效性:O(n log n)时间复杂度(主要来自排序)正确性:保证找到最大兼容演出数量简洁性:代码实现简单直观通用性:适用于各种区间调度问题。
2025-08-02 08:30:00
529
原创 华为OD机试_2025 B卷_上班之路(Python,200分)(附详细解题思路)
BFS队列设计:存储位置、拐弯数、清除数和上次方向状态剪枝:忽略拐弯或清除数更多的路径方向处理:跟踪上次移动方向计算拐弯次数边界检查:确保不越界访问。
2025-08-01 09:15:00
646
原创 华为OD机试_2025 B卷_组装最大可靠性设备(Python,200分)(附详细解题思路)
高效性:二分查找使时间复杂度为O(log(max_r) * N * M),其中M是平均每种类型的元器件数正确性:保证找到满足预算的最大最小可靠性简洁性:代码结构清晰,逻辑直接鲁棒性:处理了各种边界情况。
2025-07-31 08:30:00
689
原创 华为OD机试_2025 B卷_查找一个有向网络的头节点和尾节点(Python,200分)(附详细解题思路)
高效性:拓扑排序时间复杂度O(V+E)正确性:准确识别首尾节点和环鲁棒性:处理各种边界情况简洁性:代码结构清晰。
2025-07-30 08:30:00
878
原创 华为OD机试_2025 B卷_信道分配(Python,200分)(附详细解题思路)
高效性:时间复杂度O®,R为最大阶数正确性:保证最大化用户数量简洁性:逻辑清晰,易于实现实用性:适用于资源分配类问题。
2025-07-29 08:45:00
851
原创 华为OD机试_2025 B卷_完全二叉树非叶子部分后序遍历(Python,200分)(附详细解题思路)
高效性:时间复杂度O(n),空间复杂度O(n)正确性:严格遵循完全二叉树性质和后序遍历定义简洁性:递归实现直观易懂鲁棒性:处理了单节点、不平衡树等边界情况。
2025-07-28 08:30:00
722
原创 华为OD机试_2025 B卷_书籍叠放(Python,200分)(附详细解题思路)
排序预处理按长度降序确保长度关系长度相同时按宽度降序避免冲突问题转化二维问题转化为一维序列问题寻找最长严格递减子序列二分优化维护最小末尾值序列保证序列的严格递减性。
2025-07-27 08:45:00
866
原创 华为OD机试_2025 B卷_人气最高的店铺(Python,200分)(附详细解题思路)
高效性:二分搜索将问题复杂度优化到O(n log C)精确性:保证找到最小补贴金额贪心策略:优先选择性价比高的贿赂方案可行性检查:动态调整策略确保满足条件。
2025-07-26 09:00:00
1044
原创 华为OD机试_2025 B卷_矩阵匹配(Python,200分)(附详细解题思路)
二分答案框架减少枚举量图匹配转化复杂约束条件Dinic算法高效求解最大流≥N-K+1的匹配判定条件。
2025-07-25 08:45:00
1343
原创 华为OD机试_2025 B卷_士兵过河(Python,200分)(附详细解题思路)
dp[k]表示运送前k个最快士兵的最小时间排序预处理:优先处理速度快的士兵动态规划:高效计算最小运送时间贪心策略:合理选择运送方式时间约束:在敌军到达前最大化存活。
2025-07-25 08:30:00
1045
原创 华为OD机试_2025 B卷_荒岛求生(Python,200分)(附详细解题思路)
栈的应用:完美处理后进先出的决斗顺序战斗力更新:动态修改栈顶元素值方向处理:正负号表示方向,绝对值表示战斗力逃生计数:分开统计左右逃生者。
2025-07-24 08:30:00
383
原创 华为OD机试_2025 B卷_组成最大数(Python,200分)(附详细解题思路)
题目要求将多个正整数拼接成一个最大的数字字符串。直接比较数字大小不行:例如22和221,221>22,但拼接后22221 > 22122数字长度不同:需要找到一种比较规则,使得拼接后的结果最大对于两个字符串a和b:如果a + b > b + a,则认为a > b否则认为a < b按照这个规则降序排序后拼接,即可得到最大数字字符串return -1return 1else:return 0核心思想:比较两种拼接方式的结果返回-1:表示x应该排在y前面返回1:表示y应该排在x前面拼接比较。
2025-07-23 08:30:00
705
原创 华为OD机试_2025 B卷_启动多任务排序(Python,200分)(附详细解题思路)
依赖图构建:准确表示任务间关系入度管理:动态追踪任务就绪状态最小堆应用:保证字母序最小优先动态更新:任务完成后及时更新依赖。
2025-07-23 08:30:00
776
原创 华为OD机试_2025 B卷_无向图染色(Python,200分)(附详细解题思路)
二进制表示染色方案位运算快速检查相邻节点边检查而非连通性检查。
2025-07-22 08:15:00
752
原创 华为OD机试_2025 B卷_模拟消息队列(Python,100分)(附详细解题思路)
时间排序:确保事件处理顺序正确消费者管理:集合操作高效维护状态优先级实现:利用消费者ID自然排序边界处理:正确处理空消费者情况。
2025-07-21 08:30:00
1037
原创 华为OD机试_2025_异常打卡记录(Python,100分)(附详细解题思路)
高效性:使用字典存储记录,查找效率高全面性:同时检测两种异常情况有序性:结果保持输入顺序。
2025-07-20 09:00:00
1004
原创 华为OD机试_2025 B卷_贪心的商人(Python,100分)(附详细解题思路)
dp[j]:进行j次交易后,不持有商品的最大利润dp[j]:进行j次交易后,持有商品的最大利润精确建模:通过动态规划精确捕捉每天的交易决策高效处理:通过状态转移方程高效计算最大利润独立处理:各商品独立计算,简化问题复杂度库存处理:通过乘法有效处理库存限制。
2025-07-19 08:30:00
1215
原创 华为OD机试_2025 B卷_生成哈夫曼树(Python,100分)(附详细解题思路)
权值小的节点优先被选择权值相同时高度小的节点优先解决了权值相等时的决策问题哈夫曼树不仅是一种有趣的数据结构,更是理解贪心算法和树遍历的绝佳实例。通过实现自定义排序规则的中序遍历,我们展示了如何在经典算法基础上进行灵活扩展,满足特定需求。
2025-07-18 08:15:00
1139
原创 华为OD机试_2025 B卷_寻找最大价值矿堆(Python,100分)(附详细解题思路)
算法优势精确高效:BFS确保完整检测连通块逻辑清晰:分步骤处理价值计算边界严谨有效处理地图边界避免重复访问扩展性强:可轻松适配更多矿种类型关键要点BFS遍历:确保发现所有连通矿点价值累加:区分金矿/银矿价值方向处理:系统检查四个相邻位置访问标记:防止重复计算和无限循环应用场景游戏地图资源分析图像连通区域检测地理信息系统资源评估网络节点集群分析该解法通过BFS连通块分析,高效准确地计算出地图中最大矿堆价值,完美满足题目要求,代码简洁且易于理解。
2025-07-17 08:30:00
686
原创 华为OD机试_2025 B卷_完美走位(Python,100分)(附详细解题思路)
问题转化:将替换问题转化为多余步数包含问题窗口收缩:满足条件时立即收缩窗口寻找更优解边界处理:包含字符串长度检查和完美走位检查。
2025-07-16 19:49:11
677
原创 华为OD机试_2025 B卷_数大雁(Python,100分)(附详细解题思路)
算法优势精确匹配:实时跟踪每个大雁的状态高效复用available机制最小化大雁数量边界严谨:及时检测非法序列复杂度低:O(n)时间复杂度,O(1)空间复杂度关键要点状态维护waiting数组跟踪各阶段大雁大雁复用:完成的大雁优先用于新’q’错误检测无法匹配的字符最终未完成的大雁注意事项available只存储已完成叫声的大雁活跃大雁计数包含正在进行叫声的大雁最终检查确保所有大雁都完成叫声。
2025-07-16 09:00:00
596
原创 华为OD机试_2025 B卷_猜数字(Python,100分)(附详细解题思路)
算法特点暴力枚举:遍历所有可能四位数候选(1000~9999)精确验证:通过A/B值计算严格匹配提示高效处理时间复杂度:9000×N×4 ≈ 3.6×10⁶(N≤100)空间复杂度:O(1)鲁棒性强:正确处理重复数字场景关键要点A值计算:位置和数字完全匹配B值计算排除已匹配位置频率统计共同数字取最小值保证不重复计数结果筛选唯一解 → 输出数字多解/无解 → 输出"NA"应用场景猜数字游戏AI密码破解系统数据验证工具游戏测试自动化。
2025-07-15 08:15:00
1428
原创 华为OD机试_2025 B卷_符号运算(Python,100分)(附详细解题思路)
算法优势精确的分数表示:避免浮点精度误差即时化简:每一步运算后约分,防止溢出完善的错误处理:检测除零错误高效优先级处理:双栈算法确保正确运算顺序关键要点分数规范化:分子分母始终互质,分母为正括号优先级:通过栈结构自然处理嵌套括号运算符分级:确保乘除优先于加减边界处理:零值、负数、除零等特殊情况应用场景精确计算器实现分数运算教学工具金融和科学计算任何需要精确分数结果的场景该解法严格遵循数学运算规则,通过双栈算法和分数表示,实现了精确的表达式求值功能,满足题目所有要求。
2025-07-14 08:30:00
905
原创 华为OD机试_2025 B卷_查找单入口空闲区域(Python,100分)(附详细解题思路)
算法特点全面检测:BFS确保发现所有连通区域精准判断:边界点统计保证单入口条件高效处理:排序和筛选快速确定结果可靠输出:严格遵循题目要求的输出格式关键要点边界点判断:检查坐标是否在矩阵边缘单入口条件:区域必须有且只有一个边界点结果筛选逻辑唯一最大区域 → 输出坐标和大小多个相同大小 → 输出大小无满足条件 → 输出"NULL"注意事项使用BFS时注意边界检查访问标记避免重复计算区域大小比较使用降序排序多个相同大小区域只输出大小值。
2025-07-13 21:15:29
735
原创 华为OD机试_2025 B卷_数据分类(Python,100分)(附详细解题思路)
算法特点精确高效:使用位运算高效拆分字节逻辑清晰:分步骤处理分类规则健壮性强:处理边界情况(无有效类型)空间优化:字典仅存储有效类型关键要点位运算技巧:移位和掩码操作拆分字节模运算应用:确保类型值在合理范围字典统计:高效记录类型出现次数最大值提取应用场景数据分类统计系统网络协议数据处理嵌入式系统字节操作数据特征提取和分析该解法严格遵循题目要求,正确处理了字节拆分、模运算、分类统计等关键步骤输出最优结果。
2025-07-13 20:41:05
1023
1
原创 华为OD机试_2025 B卷_最大报酬(Python,100分)(附详细解题思路)
算法特点高效准确:动态规划保证获得最优解空间优化:一维数组实现,空间复杂度 O(T)实现简洁:核心仅需10行代码通用性强:可扩展解决各类背包问题关键要点逆序更新:保证每个工作只选一次状态转移dp[j] = max(不选, 选)边界处理:初始化 dp=0适用场景资源分配优化(时间、预算等有限资源)项目选择决策各类背包问题变种该解法完美解决工作调度优化问题,通过动态规划高效计算在有限时间内可获得的最大报酬,代码简洁高效,直接输出最优解。
2025-07-12 17:49:17
1025
原创 华为OD机试_2025_查找单入口空闲区域(Python,100分)(附详细解题思路)
关键要点边界点判断:检查坐标是否在矩阵边缘单入口条件:区域必须有且只有一个边界点结果筛选逻辑唯一最大区域 → 输出坐标和大小多个相同大小 → 输出大小无满足条件 → 输出"NULL"注意事项使用BFS/DFS遍历时注意边界检查访问标记避免重复计算区域大小比较使用降序排序多个相同大小区域只输出大小值此解法通过系统的区域检测和结果筛选,准确高效地解决了最大单入口空闲区域查找问题,完美符合题目要求。
2025-07-11 08:24:34
1161
2
原创 华为OD机试_2025 最长的顺子(Python,100分)(附详细解题思路)
算法特点高效准确:线性扫描算法,时间复杂度O(1)逻辑清晰:分阶段处理(统计→计算→扫描)边界处理完善:正确处理空输入和边界情况关键要点牌面顺序处理:明确定义3到A的顺序剩余牌计算:总牌数减去手中和已出牌连续段检测:扫描可用牌标记数组结果选择优先选择最长连续段长度相同时选择起点最大的(牌面最大)常见错误避免忽略牌面顺序要求(3到A连续)忘记每种牌有4张的限制未处理长度相同时的牌面大小比较未检查顺子最小长度(≥5张)
2025-07-11 08:00:00
1533
原创 华为OD机试_2025 恢复数字序列(Python,100分)(附详细解题思路)
算法特点简单直观:通过枚举候选序列验证字符组成高效可行:枚举范围最多1000次,字符统计O(n)准确可靠:依赖题目保证的唯一解特性关键要点连续序列特性:序列是连续的N个正整数字符组成不变:打乱操作不改变字符种类和数量高效验证:使用Counter快速比较字符频率为什么有效完备性:枚举覆盖所有可能的最小数字正确性:字符频率匹配保证序列还原正确效率性:1000次枚举对计算机可瞬间完成此解法充分利用题目约束条件,通过枚举候选序列和字符统计匹配,高效准确地解决了连续正整数序列的还原问题。
2025-07-09 22:01:10
914
原创 华为OD机试_2025 B卷_观看文艺汇演问题(Python,100分)(附详细解题思路)
算法优势高效简单:时间复杂度O(n log n),主要来自排序操作最优解保证:贪心策略能获得最大观看场次直观易懂:按结束时间排序符合现实逻辑关键要点排序是核心:按结束时间排序确保最优选择间隔条件处理体现15分钟间隔要求边界处理:初始化last_end为极小值确保第一场可选适用场景区间调度问题(会议安排、课程选择等)资源分配优化(共享资源的时间分配)需要最大化兼容事件数量的场景这种解法完全满足题目要求,通过贪心算法高效解决了带间隔约束的区间调度问题,代码简洁且性能优异。
2025-07-09 21:52:42
568
原创 华为OD机试_2025 B卷_最差产品奖(Python,100分)(附详细解题思路)
关键要点单调队列维护:确保队列中元素对应值单调递增索引存储:通过索引同时获取元素值和位置信息过期检查:每次迭代检查队首是否在窗口内及时清理:添加新元素时移除无效的较大元素适用场景需要高效计算滑动窗口最小值的场景实时数据流中的统计分析序列处理中的连续区间计算此解法完全满足题目要求,通过维护单调队列高效解决了滑动窗口最小值问题,适合处理大规模数据序列。
2025-07-08 08:16:52
1530
原创 华为OD机试_2025 B卷_简易内存池(Python,100分)(附详细解题思路)
关键要点单调队列维护:确保队列中元素对应值单调递增索引存储:通过存储索引同时获取元素值和位置信息过期检查:每次迭代检查队首元素是否在窗口内及时清理:添加新元素时移除无效的较大元素适用场景需要高效计算滑动窗口最小/最大值的问题数据流中的实时统计计算序列分析中的连续区间统计此解法完全满足题目要求,通过维护单调队列高效解决了滑动窗口最小值问题,适合处理大规模数据序列。
2025-07-01 08:30:00
957
原创 华为OD机试_2025 B卷_简易内存池(Python,100分)(附详细解题思路)
核心要点优先使用低地址空间(通过空闲区间列表排序实现)空闲区间合并是关键优化:每次释放后合并相邻区间保证内存碎片最小化高效查询:已分配内存使用字典存储(O(1)查询)空闲区间使用列表存储(O(n)操作,n≤100可接受)关键优势严格遵循"优先低地址"规则自动合并相邻空闲区间,减少内存碎片清晰的状态管理(空闲列表+已分配字典)健壮的错误处理(无效请求/释放)该实现完整满足题目要求,通过维护内存状态和合理合并策略,高效处理内存分配与释放请求。
2025-06-30 09:00:00
892
原创 华为OD机试_2025 B卷_最长连续子序列(Python,100分)(附详细解题思路)
适用场景小规模数据(n ≤ 200)元素均为正数的序列需要精确匹配子序列和的情况扩展思考如果序列包含负数,如何优化?解决方案:使用哈希表存储前缀和(时间复杂度降为 O(n))如果要求最短子序列长度?修改方案:在找到满足条件的子序列时立即终止内循环如果存在多个解?当前方案天然保证记录最长解核心要点:本题的解法充分利用了正整数序列的单调性,通过简单的双层循环实现高效求解。对于初学者而言,理解暴力枚举的合理性及其优化点是掌握算法设计的重要基础。
2025-06-29 09:00:00
517
原创 华为OD机试_2025 B卷_整理扑克牌(Python,100分)(附详细解题思路)
优先级处理:高价值组合优先降序匹配:优化葫芦组合质量多维排序:主次条件组合排序结果生成:牌型格式化输出核心启示:通过优先级处理和多条件排序,本算法高效解决了扑克牌分组排序问题。这种"分级处理+最优匹配"的思路可广泛应用于各类资源分配和优化问题。问题分析与分解能力优先级处理策略多维排序实现技巧算法效率优化方法从需求到代码的转化能力。
2025-06-27 10:30:00
1275
原创 华为OD机试_2025 B卷_统计射击比赛成绩(Python,100分)(附详细解题思路)
数据分组统计:使用字典高效组织数据多条件排序:Python的lambda表达式实现复杂排序数据过滤:处理不符合条件的输入数据结果格式化:满足特定输出要求核心启示:通过合理的数据组织和多条件排序,本算法高效解决了射击比赛排名问题。这种"分组-计算-排序"的模式可广泛应用于各类评估排名场景,关键在于灵活运用数据结构处理核心需求。字典在数据分组中的应用多条件排序的实现技巧数据过滤的逻辑处理从问题分析到代码实现的完整流程边界情况的正确处理方式。
2025-06-26 11:45:00
1087
原创 华为OD机试_2025 B卷_分班(Python,100分)(附详细解题思路)
顺序处理至关重要:每个小朋友的分班决策依赖于前一个小朋友的班级状态跟踪是关键:使用变量跟踪当前班级状态边界条件检查:全面的输入验证确保算法健壮性输出顺序规则:按最小值确定班级输出顺序核心启示:幼儿园分班问题通过巧妙的顺序处理和状态跟踪策略,高效解决了混合队列的分组问题。这种"验证→处理→排序"的结构化方法可广泛应用于各类分组场景,特别是基于关系链的分组问题。初学者可以从中学习到状态管理、边界条件处理和结构化程序设计等重要编程概念。关键学习点输入验证的重要性状态跟踪的实现技巧。
2025-06-25 11:37:00
804
原创 华为OD机试_2025 B卷_VLAN资源池(Python,100分)(附详细解题思路)
字符串解析:处理多种格式的输入集合操作:高效管理离散元素区间合并:连续值序列优化表示格式化输出:满足特定格式要求核心启示:通过将资源池转换为集合操作再合并连续区间的思路,本算法高效解决了VLAN资源池管理问题。这种"解析→操作→格式化"的三段式处理结构是处理类似资源管理问题的通用模式。字符串解析的技巧集合操作的强大功能区间合并算法的实现问题分析与模块化设计从需求到代码的转换能力。
2025-06-25 08:45:00
1058
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅