题解 | #DNA序列#
DNA序列
https://www.nowcoder.com/practice/e8480ed7501640709354db1cc4ffd42a
string s;
int n, m;
while (cin >> s >> n) {
float num = 0.0;
float ratio = 0.0;
pair p;
vector > vec;
string str = "";
if (n < s.size()) {
for (int i = 0; i <= s.size() - n; i++) {
for (int j = i; j < n + i; j++) {
if (s[j] == 'C' || s[j] == 'G')
num++;
str += s[j];
}
ratio = num / n;
p = make_pair(ratio, str);
vec.push_back(p);
str = "";
num = 0;
ratio = 0.0;
}
string res = "";
for (int i = 0; i < vec.size() - 1; i++) { if (vec[i].first > vec[i + 1].first) { vec[i].swap(vec[i + 1]); res = vec[i + 1].second; } else if (vec[i].first < vec[i + 1].first) res = vec[i + 1].second; else { res = vec[i].second; vec[i].swap(vec[i + 1]); } } cout << res << endl; } else if (n = s.size()) { cout << s << endl; } } return 0;
}
#华为机试#