通过率 54% · 提交 39 · 通过 21
在 AI 助手的技能系统中,执行链由多个 Skill 按顺序排列。每个 Skill 有一个类型标记: - type[i] = 0: 基础类型 Skill,无依赖,可以独立执行 - type[i] = 1: 扩展类型 Skill,依赖前一个 Skill 执行 - type[i] = 2: 高级类型 Skill,依赖前两个 Skill 执行 执行链的完整性规则: 1. 首元素限制:执行链不能以扩展类型(type = 1)或高级类型(type = 2)开头,必须以基础类型(type = 0)开头 2. 依赖传递: - 扩展类型(type = 1)的直接前驱必须是基础类型(type = 0) - 高级类型(type = 2)的前驱和前前驱都必须是基础类型(type = 0) 3. 链式依赖:每两个相邻的基础类型之间最多允许存在一个扩展类型或高级类型 给定一个类型数组 type,找到最长的连续 Skill 子链,使得子链满足完整性规则。返回该子链的长度。 数据规模 0 ≤ type.length ≤ 2000
这类题属于算法机考高频题型中「100分 / 数组」方向的高频题型,通常考察对「100分 / 数组」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
一个int数组,表示类型数组 type。
一个整数,表示满足条件的最长子链的长度。
示例 1
输入示例
3 0,0,0
输出示例
3
全为基础类型,满足规则(不违反任何约束)
示例 2
输入示例
4 0,1,0,1
输出示例
4
0→1 ✓ (基础后接扩展) 1→0 ✓(扩展后接基础) 0→1 ✓(基础后接扩展) 无违反规则,整个链有效
示例 3
输入示例
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
3 2,0,0
输出示例
2
首元素高级类型违规,从位置 1 开始 [0, 0] 长度 2
示例 4
输入示例
5 0,1,0,0,2
输出示例
5
0→1 ✓ (基础后接扩展) 1→0 ✓(扩展后接基础) 0→0 ✓ (基础后接基础) 0→0→2✓ (基础、基础后接高级) 无违反规则,整个链有效
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有