题解 | #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;
}
}