题解 | #DNA序列#

DNA序列

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

'''
由于给定了子串长度且是连续子串,所以从左到右遍历所有规定长度的子串即可
假如要找长度为3的子串,以下图为例,i从0位置开始到最后一个位置len('abcde')-3=2,所以range(len('abcde')-3 +1)
    i
a b c d e
0 1 2 3 4

'''
DNA=input()# DNA序列
lenth=int(input())# 子串长度

max_GC_number=0# G、C数量之和的最大值
max_part=''# G、C数量之和的最大值对应子串
for i in range(len(DNA)-lenth+1):# 从左到右遍历所有lenth长度的子串
    part=DNA[i:i+lenth]
    GC_number=part.count('G')+part.count('C')# 计算改子串的G、C数量之和
    if GC_number>max_GC_number:# 更新
        max_GC_number=GC_number
        max_part=part
print(max_part)

【牛客站内】华为机试题练习记录

全部评论

相关推荐

07-02 18:09
门头沟学院 Java
苍穹外卖和谷粒商城这俩是不是烂大街了,还能做吗?
想去重庆的鸽子在吐槽:你不如把这俩做完自己搞明白再优化点再来问 何必贩卖焦虑
点赞 评论 收藏
分享
Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务