思路殊途同归,但是比大佬的思路略显复杂了,因为一开始我想着把他按照两个指针来输出,其实s[i,i+n]就可以了,但总归是实现了,所以也现在上面了
``` python []
while True:
try:
s=str(input())#字符串
n=int(input())#数字n
tmp=[]
#一开始自己的思路,是通过两个指针来的
for i in range(0,len(s)-n+1):#调了半天,还是没法全输出为n个,只能不漏了,然后加个判断了
for j in range(i+n,len(s)+n,n):
if j-i==n:#通过这个方法把对应长度为n的值都剃出来
tmp.append(s[i:j])
#大佬的思路,直接一个个遍历,中间间隔n就可以了,我上面那个思路搞复杂了,这也是我最纠结花时间的地方
tmp=[]
for i in range(0,len(s)-n+1):
tmp.append(s[i:i+n])#这个就可以直接遍历了
#print(tmp)
tmpn=[]#统计他的GC-Ratio
for i in tmp:
tmpn.append(i.count("G")+i.count("C"))
indexmax=tmpn.index(max(tmpn))#算出其最大值的下标,一般是第一个
print(tmp[indexmax])#他们顺序是一一对应的,所以打印对应最大值下标即可。
except:
break