题目介绍:输入一段字符串DNA序列(含GATC)
输入一个定长N。
输出含GC比例最多的连续子串,长度为N。
创新互联专注于黟县网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供黟县营销型网站建设,黟县网站制作、黟县网页设计、黟县网站官网定制、成都微信小程序服务,打造黟县网络公司原创品牌,更为您提供黟县网站排名全网营销落地服务。
思路:假设字符串序列长度len为15.定长为5。
则需要建一个长度为11(len-N)的数组。
每一个元素为移该该位置起始 的N长度的字符串中G,C的个数。
再遍历count数组,值最大的是以该位置起始的长度为N 的子串。
会用到的方法:
string.charAt(index)
string.subString(begin,end)
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
String DNA=scanner.nextLine();
int len=DNA.length();
int N=scanner.nextInt();
int[] count=new int[len-N+1];
scanner.close();
for (int i = 0; i <= len-N; i++) {
for (int j = i; j < i+N; j++) {
if ('C'==DNA.charAt(j)||'G'==DNA.charAt(j)) {
count[i]+=1;
}
}
}
int max=count[0];
int k=0;
for (int i = 1; i < count.length; i++) {
if (count[i]>max) {
max=count[i];
k=i;
}
}
System.out.print(DNA.substring(k, k+N));
}
}