题解 | #DNA序列#

DNA序列

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

#include <iostream>
#include <string>
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")

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务