题解 | #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,然后计算出来的值,如果比历史最高值大,就直接顶替