题解 | #DNA序列#

# 子串是连续的,按照n为长度截取
while True:
    try:
        s = input()
        ls = len(s)
        n = int(input())
        zc = [] #存储截取到的子串
        # 生成zc
        for i in range(ls - 1):    # (ls -2) + 1
            if i + n < ls:
                zc.append(s[i:i + n])
            else:
                zc.append(s[i:])
        # print(zc)  # AC CG GT
        rad = []  # 存储计算GC_Ratio
        # 计算GC_Ratio
        for i in zc:
            g_cnt = i.count('G')
            c_cnt = i.count('C')
            rad.append((g_cnt + c_cnt) / ls)
        # print(rad)  # [0.25, 0.5, 0.25]
        max_rad = max(rad)
        max_index = rad.index(max_rad)
        print(zc[max_index])
    except:
        break
全部评论

相关推荐

10-11 15:42
皖西学院 Java
青鱼LINK:我硕士,也是java0面试,吾道不孤
点赞 评论 收藏
分享
牛舌:如果我不想去,不管对方给了多少,我一般都会说你们给得太低了。这样他们就会给下一个offer的人更高的薪资了。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-27 10:46
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务