题解 | #DNA序列#
DNA序列
http://www.nowcoder.com/practice/e8480ed7501640709354db1cc4ffd42a
#include<bits/stdc++.h>
using namespace std;
vector<string> vec;
int main()
{
string str;
int n;
cin >> str >> n;
for(int i=0;i<str.length()-n+1;i++)
{
int j = i;
string substr = str.substr(j,n);
vec.push_back(substr);
}
double max = -1.0;
vector<string>::iterator cur;
for(vector<string>::iterator it = vec.begin(); it != vec.end(); it++)
{
double gets = 0.0;
double gc_ratio = 0.0;
string sit = *it;
for(int i = 0; i < sit.length(); i++)
{
if(sit[i] == 'C' || sit[i] == 'G')
{
gets ++;
}
}
gc_ratio = gets / n;
if(gc_ratio > max)
{
max = gc_ratio;
cur = it;
}
}
cout << *cur;
return 0;
}