题解 | #DNA序列#
DNA序列
https://www.nowcoder.com/practice/e8480ed7501640709354db1cc4ffd42a
#include <stdio.h>
#include <string.h>
int main() {
char str[1000];
int n;
scanf("%s",str);
scanf("%d",&n);
int len = strlen(str);
float a[1000] = {0};
for (int i = 0; i<len-n;i++) {
float t = 0;
for (int j = 0; j<n; j++) {
if (str[i+j] == 'C' || str[i+j] == 'G') {
t++;
}
}
a[i] = t/n;
// printf("%f\n",a[i]);
}
float max = 0;
int c=0;
for (int i = len-n-1; i>=0; i--) {//要找第一个 反过来循环就行
max = (a[i]<max)?max:a[i];
c = (a[i]<max)?c:i;
}
for (int i = 0; i<n; i++) {
printf("%c",str[c+i]);
}
return 0;
}

