题解 | #DNA序列#
DNA序列
https://www.nowcoder.com/practice/e8480ed7501640709354db1cc4ffd42a
//从前向后遍历,记录最长GC子串出现时的左下标
#include <stdio.h>
#include<string.h>
int main()
{
int i=0,j=0,count=0,max=0,N=0,num;
char arr[1000],p[1000];
gets(arr);
scanf("%d",&N);
int sz=strlen(arr);
if(N>=sz)
{
printf("%s\n",arr);
return 0;
}
for(i=0;i<sz-N;i++)
{
count=0;
for(j=0;j<N;j++)
{
if(arr[i+j]=='G'||arr[i+j]=='C')
{
count++;
}
}
if(count>max)
{
max=count;
num=i;
}
}
for(i=num;i<num+N;i++)
{
printf("%c",arr[i]);
}
return 0;
}
查看3道真题和解析