题解 | #DNA序列#
DNA序列
https://www.nowcoder.com/practice/e8480ed7501640709354db1cc4ffd42a
while True:
try:
seq = input() #接收 DNA 序列(sequence)
n = int(input())
subs = ''
for i in range(len(seq) - n + 1):
subs = subs + seq[i:i+n] + ' ' #字符串形式存放 seq 中所有长度为 n 的连续子序列,用‘ ’分隔
lsub = subs.split() #获得长度为 n 的连续子序列列表
dic = {}
for s in lsub:
dic[s] = s.count('C') + s.count('G') #子序列长度固定为 n,子序列中的 C 和 G 总数越多,CG-ratio 就越高
lso = sorted(dic.items(), key=lambda x:x[1], reverse=True)
print(lso[0][0])
except:
break

