华为机试

夙愿已清 提交于 2019-12-12 19:53:42

题目描述

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

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

输入描述:

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

输出描述:

找出GC比例最高的子串,如果有多个输出第一个的子串

示例1

输入

AACTGTGCACGACCTGA
5

输出

GCACG
import java.util.Scanner;
public class Main{
    public static void main(String args[]){
        Scanner scanner=new Scanner(System.in);
        String a=scanner.nextLine();
        int b=scanner.nextInt();
        asd(a,b);
    }
    public static void asd(String str,int n){
        int max=0;
        int begin1=0;
      
        for(int i=0;i<=str.length()-n;i++){
              int count=0;
            for(int j=i;j<i+n;j++){
                if(str.charAt(j)=='G'||str.charAt(j)=='C'){
                    count++;
                }
                if(count>max){
                    begin1=i;
                    max=count;
                }
            }
        }
        System.out.println(str.substring(begin1,begin1+n));

    }

}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!