题解 | #DNA序列#

DNA序列

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

import java.util.Scanner;

import java.lang.StringBuilder;

class Main {

    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);

        while(sc.hasNext()){

            String s = sc.nextLine();

            int i = sc.nextInt();

            System.out.print(getMaxRatio(s,i));

        }

    }

    public static String getMaxRatio(String str,int len){

        //先分析下题,其实就是,从第一个开始取n个,第二个开始取n个到 第str -n 取n个,取到最后,这些子串含有GC最多的第一个

        int max = 0;

        String maxGc="";

        for(int i=0;i<str.length()-len+1;i++){

            int gc = 0;

            for(int j=i;j<i+len;j++){

                if(str.charAt(j) =='G' || str.charAt(j) == 'C'){

                    gc ++;

                }

            }

            if(gc>max){

                max=gc;

                maxGc = str.substring(i,i+len);

            }

        }

        return maxGc;

    }

}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务