华为OJ(DNA序列)

来源:互联网 发布:淘宝卖家刷单流程 编辑:程序博客网 时间:2024/06/10 14:00
还是只会用if else、 for<img alt="鄙视" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/despise.gif" />
#include<iostream>#include<string>using namespace std;int main(){int n,idxs,idxe,m;//idxs为最大CG比对应子序列第一个字符下标,idxe为子序列最后一个字符下标;float maxstr=0;//CG-ratiostring s;cin>>s;//输入DNA序列cin>>n;//最小子序列idxs=0;idxe=n-1;for(int i=n;i<s.size();++i)//子序列长度:n到s.size(){m=0;for(int j=0,k=i-1;j<=s.size()-i;++j,++k){if(j==0){for(int l=0;l<i;++l)if(s[l]=='C'||s[l]=='G')m++;}else{if(s[j-1]!='C'&&s[j-1]!='G'&&(s[k]=='C'||s[k]=='G')){m++;if(m/(i+0.0)>maxstr){maxstr=m/(i+0.0);idxs=j;idxe=k;}}else if((s[j-1]=='C'||s[j-1]=='G')&&s[k]!='C'&&s[k]!='G')m--;}}}for(int i=idxs;i<=idxe;++i)cout<<s[i];//system("pause");return 0;}

0 0
原创粉丝点击