题目介绍:输入一段字符串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));
}
}
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。