题解 | #DNA序列#

DNA序列

https://www.nowcoder.com/practice/e8480ed7501640709354db1cc4ffd42a

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main() {
    string strs;
    cin >> strs;             //DNA序列
    int n;
    cin >> n;                //要截取的长度
    string findStrs;         //找到的字符串
    double maxRatio = 0.0;   //CG占比
    int num = 0;             //CG出现的数量

    for (int i = 0; i + n <= strs.size(); i++) {
        string newStrs = strs.substr(i, n);  //当前截取的字符串
        num = 0;

        for (int j = 0; j < newStrs.size(); j++) {
            if (newStrs[j] == 'C' || newStrs[j] == 'G') {
                num += 1;
            }
        }

        double ratio = double(num) / newStrs.size();
        if (ratio > maxRatio) {
            maxRatio = ratio;
            findStrs = newStrs;
        }
    }

cout << findStrs << endl;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

码农索隆:单休一个月少休息4天,一年就是48天,平时节假日,别人3天假期,单休的两天
点赞 评论 收藏
分享
认真搞学习:这么良心的老板真少见
点赞 评论 收藏
分享
Lorn的意义:你这种岗位在中国现在要么牛马天天加班,要么关系户进去好吃好喝,8年时间,真的天翻地覆了,对于资本来说你就说一头体力更好的牛马,哎,退伍没有包分配你真的亏了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务