通过率 81% · 提交 150 · 通过 122
小慕正在处理一个生物信息项目,其中涉及由 A/C/G 和 T 四种字母组成的序列。这个序列的 定义为字母 G 和 C 出现的总次数除以序列的总长度。在项目中,GC-Ratio 的高低对判断基因的起始位置至关重要。 现在,小慕有一个很长的序列,以及一个限定的长度 N。他需要从左到右扫描这个序列,找出 GC-Ratio 最高且长度为 N 的第一个子串。 序列由 ACGT 四种字母构成,例如子串可以是 ACG、CG、CGT 等,但不会出现 AGT 或 CT 等不符合连续位置要求的组合。
这类题属于华为 OD 机考真题方向中「100分 / 滑动窗口」方向的高频题型,通常考察对「100分 / 滑动窗口」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
输入一个string型基因序列,和int型子串的长度
找出GC比例最高的子串,如果有多个则输出第一个的子串
示例 1
输入示例
ACGT 2
输出示例
CG
ACGT长度为2的子串有AC, CG,GT一共3个,其中AC和GT这2个的GC-Ratio都为0.5,CG为1,故输出CG
示例 2
输入示例
AACTGTGCACGACCTGA 5
输出示例
GCACG
虽然CGACC的GC-Ratio也是最高,但它是从左往右找到的GC-Ratio最高的第2个子串,所以只能输出GCACG。
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有