【每日一题】DNA序列

简介: 【每日一题】DNA序列

华为OJ自测系统


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


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


package com.guoguo.basic;
import java.util.Scanner;
//enum Word {C,G,default}
public class DNAList {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
String str = scan.next();
int len = scan.nextInt();
int max = 0;
int k = 0;
String str1 = "";


for(int i=0; i<str.length()-5; i++){
int num = 0;
for(int j=i; j<i+len; j++){
// if(str.charAt(j)=='G' || str.charAt(j)=='C')
// num++;
// char ch = str.charAt(j);
// Word w = Word.default;
// if(ch == 'C')
// w = Word.C;
// if(ch == 'G')
// w = Word.G;
// switch(w){
switch(str.charAt(j)){
case 'C':
case 'G': {num++;break;}
default: break;
}
}
if(num > max){
max = num;
k = i;
}
}
for(int n=k; n<k+len; n++){
str1 += str.charAt(n);
}
System.out.println(str1);
}
}



相关文章
|
10月前
|
存储 算法 索引
模拟算法题练习(二)(DNA序列修正、无尽的石头)
模拟算法题练习(二)(DNA序列修正、无尽的石头)
|
10月前
【每日一题Day369】LC187重复的DNA序列 | 字符串哈希
【每日一题Day369】LC187重复的DNA序列 | 字符串哈希
58 1
|
10月前
|
安全 数据挖掘 图计算
R软件基于k-mer 的DNA分子序列比较研究及其应用
R软件基于k-mer 的DNA分子序列比较研究及其应用
|
10月前
|
存储
力扣187 重复DNA序列
力扣187 重复DNA序列
|
10月前
|
算法 vr&ar 图形学
☆打卡算法☆LeetCode 187. 重复的DNA序列 算法解析
☆打卡算法☆LeetCode 187. 重复的DNA序列 算法解析
|
10月前
leetcode-187:重复的DNA序列
leetcode-187:重复的DNA序列
66 0
|
算法 芯片
DNA测序原理:illumina和Pacbio对比介绍
DNA测序原理:illumina和Pacbio对比介绍
华为机试HJ63:DNA序列
华为机试HJ63:DNA序列
|
人工智能 BI
每日一题-两序列
每日一题-两序列
|
机器学习/深度学习
论文赏析[EMNLP18]用序列标注来进行成分句法分析(一)
本文定义了一种新的树的序列化方法,将树结构预测问题转化为了序列预测问题。该序列用相邻两个结点的公共祖先(CA)数量和最近公共祖先(LCA)的label来表示一棵树,并且证明了这个树到序列的映射是单射但不是满射的,但是提出了一系列方法来解决这个问题。
185 0
论文赏析[EMNLP18]用序列标注来进行成分句法分析(一)