题解 | #DNA序列#

DNA序列

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

//其实就是求CG出现最多的子串 ,所以要先截取出来子串,存储到list中
import java.util.*;
public class Main {
        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            while(sc.hasNext()){
                String s = sc.next();
                int n = sc.nextInt();
                ArrayList<String> list = new ArrayList<>();
                for(int i=0;i<=s.length()-n;i++){
                  //截取子串到与n范围内就可以,每次都是从当前那个数截取到后面n
                    String str = s.substring(i,i+n);
                    //System.out.println(str);
                    list.add(str);
                 }
                int CGMax=0;
                String str1 ="";
                for(int i=0;i<list.size();i++){
                    String str2 =list.get(i);
                    int CGCount=0;
                    for(int j=0;j<str2.length();j++){
                        if(str2.charAt(j)=='C' || str2.charAt(j)=='G'){
                            CGCount++;
                        }
                    }
                  //遍历list中每个串,如果CG出现次数最多,则赋值到最终串
                    if(CGCount>CGMax){
                        CGMax = CGCount;
                        str1 = str2;
                    }
                }
                System.out.println(str1);
            }
        }
}
全部评论

相关推荐

昨天 12:43
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
沉淀一会:**圣经 1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务