HJ63 题解 | #DNA序列#
DNA序列
https://www.nowcoder.com/practice/e8480ed7501640709354db1cc4ffd42a
#定义函数计算GC—Ratio,一边滑窗一边计算,保留最大值和对应的子串即可
#坑:注意滑窗与字符串一样大的特殊情况
def GC(s):
return (s.count("G")+s.count("C"))/len(s)
while True:
try:
s=input()
n=int(input())
max=0
ans=""
if len(s)==n:#特判滑窗与字符串一样宽
print(s)
break
for i in range(len(s)-n):
# try:#这样避免越界,当然也可以计算出i的最大值
if GC(s[i:i+n])>max:
max=GC(s[i:i+n])
ans=s[i:i+n]
# except:
# break
print(ans)
except:
break
#华为##华为od##华为机试##华为od机试#华为HJ103所有解法 文章被收录于专栏
这是我准备华为od面试的专属专栏,我会把自己的解法更新在里面,我会尽量写清楚自己的思路以及多写关键注释,希望对阅读的人有帮助~~~
曼迪匹艾公司福利 125人发布