题解 | #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