HJ63 题解 | #DNA序列#

DNA序列

https://www.nowcoder.com/practice/e8480ed7501640709354db1cc4ffd42a

#定义函数计算GC—Ratio,一边滑窗一边计算,保留最大值和对应的子串即可
#坑:注意滑窗与字符串一样大的特殊情况
def GC(s):
    return (s.count("G")+s.count("C"))/len(s)

while True:
    try:
        s=input()
        n=int(input())
        max=0
        ans=""
        if len(s)==n:#特判滑窗与字符串一样宽
            print(s)
            break
        for i in range(len(s)-n):
            # try:#这样避免越界,当然也可以计算出i的最大值
            if GC(s[i:i+n])>max:
                max=GC(s[i:i+n])
                ans=s[i:i+n]
            # except:
                # break
        print(ans)
    except:
        break
		

#华为##华为od##华为机试##华为od机试#
华为HJ103所有解法 文章被收录于专栏

这是我准备华为od面试的专属专栏,我会把自己的解法更新在里面,我会尽量写清楚自己的思路以及多写关键注释,希望对阅读的人有帮助~~~

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务