题解 | #DNA序列#
DNA序列
https://www.nowcoder.com/practice/e8480ed7501640709354db1cc4ffd42a
'''
对输入的长度进行窗口滑动
然后计算GC-Ratio的比例
最高的依次替代
'''
while True:
try:
ACGT = input()
length_ACGT = int(input())
if length_ACGT == len(ACGT):
print(ACGT)
break
GC_Ratio = 0
top_ACGT = ''
for i in range(len(ACGT) - length_ACGT):
part_ACGT = ACGT[i : i+length_ACGT]
GC_Ratio_temp = (part_ACGT.count('G') + part_ACGT.count('C')) / len(part_ACGT)
if GC_Ratio_temp > GC_Ratio:
GC_Ratio = GC_Ratio_temp
top_ACGT = part_ACGT
print(top_ACGT)
except:
break
虽然感觉是中等难度,但是很简单
用窗口滑动的方法,依次计算GC_Ratio,然后计算出来的值,如果比历史最高值大,就直接顶替


