题解 | #DNA序列#

DNA序列

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

  1. 这种滑动的建议用带pair的vector,用字典会覆盖。
#include<bits/stdc++.h>

using namespace std;
int N;

float cal(string s){
    float num =0;
    for(int i=0; i< s.size();i++){
        if(s[i]=='C'|| s[i]=='G'){
            num++;
        }
    }

    return num/N;
}


int main(){
    string s;


    while(cin>>s>>N){

        float ratio;

        vector<pair<float,string>> v;
        float max_ratio =0.0;
        for(int i = 0; i<= s.size()-N;i++){
            ratio = cal(s.substr(i,N));
            v.push_back({ratio,s.substr(i,N)});
            max_ratio = max(max_ratio,ratio);
        }

        for(auto it = v.begin();it!=v.end();it++){
            if(it->first==max_ratio){
                cout<<it->second<<endl;
                break;
            }
        }


    }

    return 0;
}
大厂笔试题题解 文章被收录于专栏

主要是公司笔试题得一些总结

全部评论

相关推荐

我也曾抱有希望:说的好直白
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务