华为OJ——DNA序列

来源:互联网 发布:织梦分类信息源码 编辑:程序博客网 时间:2024/05/22 00:37

DNA序列

题目描述

一个DNA序列由A/C/G/T四个字母的排列组合组成。GC的比例(定义为GC-Ratio)是序列中GC两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为高的GC-Ratio可能是基因的起始点。

给定一个很长的DNA序列,以及要求的最小子序列长度,研究人员经常会需要在其中找出GC-Ratio最高的子序列。

输入描述:

输入一个string型基因序列,和int型子串的长度

输出描述:

找出GC比例最高的字串

输入例子:

AACTGTGCACGACCTGA

5

输出例子:

GCACG

解答代码:

#include<iostream>#include<string>#include<cstring>#include<algorithm>#include<cmath>using namespace std;int main(){    int n,max=0,index=0,i,length=0;    char ss[3000];    while(cin>>ss>>n)    {        max=0;        length=strlen(ss);        for(i=0; i<length-n; i++)        {            int cnt=0;            for(int j=i; j<i+n; j++)                if(ss[j]=='G' || ss[j]=='C')                    cnt++;            if(cnt>max)            {                max=cnt;                index=i;            }        }        for(i=index; i<index+n; i++)            cout<<ss[i];        cout<<endl;    }    return 0;}

0 0
原创粉丝点击