题解 | #DNA序列# 双指针

DNA序列

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

#include <iostream>
using namespace std;

int main() {
    string str;
    int n;//[]
    while (cin >> str>>n) 
    { 
        int q=str.size()-1;
        int p=q-(n-1);
        int maxv=0;
        int keep_p,keep_q;
        while(0<=p)
        {
            int counter=0;
            for(int i=p;i<=q;++i)
            {
                if(str[i]=='G'||str[i]=='C')
                {
                    ++counter;
                }
            }
            if(maxv<=counter)
            {
                maxv=counter;
                keep_p=p;keep_q=q;
            }

            --p;--q;
        }
        for(int i=keep_p;i<=keep_q;++i)
        {
            cout<<str[i];
        }
        cout<<endl;
    }
}

全部评论

相关推荐

05-20 13:59
门头沟学院 Java
米黑子米黑子:你这个成绩不争取下保研?
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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