华为OJ 初级:DNA序列

来源:互联网 发布:广东网络干培训学院 编辑:程序博客网 时间:2024/06/06 23:37

描述

一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例(定义为GC-Ratio)是序列中G和C两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为高的GC-Ratio可能是基因的起始点。

给定一个很长的DNA序列,以及要求的最小子序列长度,研究人员经常会需要在其中找出GC-Ratio最高的子序列。

 

知识点字符串运行时间限制10M内存限制128输入

输入一个string型基因序列,和int型子串的长度

输出

找出GC比例最高的字串

样例输入AACTGTGCACGACCTGA 5样例输出GCACG
/*找出一个字符串中,找出指定长度的子字符串中,G和C这两个字符总共出现最多的子串,如果出现次数相同,取最先出现的字串 * */import java.util.Scanner;public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);String input = sc.next().trim();int n = sc.nextInt();sc.close();int max = 0;String result = null;for(int i = 0; i < input.length()-5; i++){//每次截取制定长度的字串进行遍历String temp = input.substring(i, i+n);int length = 0;for(int j = 0; j < n; j++){if(temp.charAt(j) == 'G' || temp.charAt(j) == 'C')length++;}if(max < length){max = length;result = temp;}}System.out.println(result);}}



0 0