题解 | #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);
            }
        }
}
全部评论

相关推荐

白火同学:大二有这水平很牛了,可以适当对关键信息加粗一点,比如关键技术、性能指标之类的。
点赞 评论 收藏
分享
05-30 12:03
山西大学 C++
offer来了我跪着...:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务