OJ---DNA序列*

来源:互联网 发布:Linux中的pg命令 编辑:程序博客网 时间:2024/06/05 04:21

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

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

样例输入:AACTGTGCACGACCTGA 5

样例输出:GCACG

import java.util.Scanner;public class DNAsquence {  public static void main(String args[]){    Scanner input=new Scanner(System.in);    String s=input.next();    int n=input.nextInt();    int k[]=new int[s.length()];    int sum[]=new int[s.length()];    for(int i=0;i<k.length;i++){      k[i]=0;      sum[i]=0;    }    for(int i=0;i<s.length();i++){      if(s.charAt(i)=='C'||s.charAt(i)=='G')k[i]=1;    }    for(int i=0;i<k.length-n;i++){      for(int j=0;j<n;j++){        sum[i]=sum[i]+k[i+j];      }    }    int max=0;    int maxindex=0;    for(int i=0;i<k.length-n;i++){      if(sum[i]>max){        max=sum[i];        maxindex=i;      }    }    System.out.println(s.substring(maxindex, maxindex+n));  }}





0 0
原创粉丝点击