题解 | #DNA序列#
DNA序列
https://www.nowcoder.com/practice/e8480ed7501640709354db1cc4ffd42a
#include <iostream> #include <iterator> #include <string> using namespace std; int main() { string str; int num; cin>>str>>num; int len = str.size(); double cgnum = 0; double cgratio = 0; for(int i=0;i<len;i++){ if(str[i]=='C'||str[i]=='G'){ cgnum++; } } cgratio = cgnum/num; double max = cgratio; int zuo = 0; int you = num-1; for(int i = num;i<len;i++){ int j = i-num; if(str[i]=='C'||str[i]=='G'){ cgnum++; } if(str[j]=='C'||str[j]=='G'){ cgnum--; } cgratio = cgnum/num; if(cgratio>max){ max = cgratio; zuo = j+1; you = i; } } for(int i = zuo;i<num+zuo;i++){ cout<<str[i]; } } // 64 位输出请用 printf("%lld")