题解 | #DNA序列#

DNA序列

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

str1=input()
num=int(input())

# 1.遍历字符串,把字符串所有步长等于num的子串均保存到list1中
list1=[]
for i in range(len(str1)-1):
    list1.append(str1[i:i+num])

# 2.遍历list1所有元素,每个元素所有C和G的数量都统计下,并保存到字典中(映射关系为key=子串,value=CG的字母个数)
dict1={}
for i in list1:
    count=0
    for j in i:
        if 'C' in j:
            count=count+1
        if 'G' in j:
            count=count+1
        dict1[i]=count

# 3.获取字典中最大的字母个数
max_val=max(list(dict1.values()))

# 4.遍历字典的key和value,把所有value等于最大字母个数的key都保存到list2中
list2=[]
for key,val in dict1.items():
    if val==max_val:
        list2.append(key)
# 5.输出list1的第一个元素即可
print(list2[0])

全部评论

相关推荐

头像
11-21 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务