Java语言 DNY基因序列所含GC最多的子串

题目介绍:输入一段字符串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)); } }

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。