对于这道题,测试样例有一个坑,就是它没有类似于’GCGCGC'这种子串,对于’GCGCGC‘这种子串不仅要返回1,6 而且要返回1,4
一旦明白这个问题之后,那么这道题就十分容易解决了,以下是python源码:
dna=input()
dna_com=''
for i in dna:
if i=='A':
dna_com+='T'
elif i=='C':
dna_com+='G'
elif i=='G':
dna_com+='C'
else:
dna_com+='A'
for i in range(len(dna)-4+1):
j=4
while j<=12:
if dna[i:i+j]==(dna_com[i:i+j])[::-1]:
if i + j < len(dna):
print(i + 1, j)
else:
print(i + 1, len(dna) - i)#当i+j的长度超过原字符串的时候,要注意长度的变化
i+=1
j+=1