题解 | #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;

}

#华为机试#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务