题解 | #DNA序列#

DNA序列

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

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

int main() {
    string str;
    int num;
    cin>>str>>num;
    int len = str.size();
    double cgnum = 0;
    double cgratio = 0;
    for(int i=0;i<len;i++){
        if(str[i]=='C'||str[i]=='G'){
            cgnum++;
        }
    }
    cgratio = cgnum/num;
    double max = cgratio;
    int zuo = 0;
    int you = num-1;
    for(int i = num;i<len;i++){
        int j = i-num;
        if(str[i]=='C'||str[i]=='G'){
            cgnum++;
        }
        if(str[j]=='C'||str[j]=='G'){
            cgnum--;
        }
        cgratio = cgnum/num;
        if(cgratio>max){
            max = cgratio;
            zuo = j+1;
            you = i;
        }
    }
    for(int i = zuo;i<num+zuo;i++){
        cout<<str[i];
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

迟缓的斜杠青年巴比Q了:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
04-29 22:35
门头沟学院 Java
牛友说改了名字能收到offer:旧图新发查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务