博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Repeated DNA Sequences
阅读量:4074 次
发布时间:2019-05-25

本文共 1628 字,大约阅读时间需要 5 分钟。

Repeated DNA Sequences

All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for example: "ACGAATTCCG". When studying DNA, it is sometimes useful to identify repeated sequences within the DNA.

Write a function to find all the 10-letter-long sequences (substrings) that occur more than once in a DNA molecule.

For example,

Given s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT",Return:["AAAAACCCCC", "CCCCCAAAAA"].
Java代码:

package com.leetcode;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.List;import java.util.Map;import java.util.Set;public class Test_73 {	 private static final Map
A = new HashMap<>(); static { A.put('A',0); A.put('C',1); A.put('G',2); A.put('T',3); } private final static int A_SIZE_POW_9 = (int) Math.pow(A.size(), 9); //注意到DNA中只有四种符号,可做编码操作 /* * 例如:AAACCC 编码之后为000111 将四进制数转化为十进制数:4^0*1 + 4^1*1 +4^2*1=21 * */ public static List
findRepeatedDnaSequences(String s) { Set
res = new HashSet<>(); Set
hashes = new HashSet<>(); for (int i = 0, rhash = 0; i < s.length(); i++) { if (i > 9) rhash -= A_SIZE_POW_9 * A.get(s.charAt(i-10)); rhash = A.size() * rhash + A.get(s.charAt(i)); if (i > 8 && !hashes.add(rhash)) res.add(s.substring(i-9,i+1)); } return new ArrayList<>(res); } public static void main(String[] arqs) { String test = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"; List
result = findRepeatedDnaSequences(test); for (String s : result) { System.out.println(s); } }}

转载地址:http://vpuni.baihongyu.com/

你可能感兴趣的文章
设置tabbaritem的title的颜色及按钮图片
查看>>
动态设置label的高度
查看>>
获取 一个文件 在沙盒Library/Caches/ 目录下的路径
查看>>
图片压缩
查看>>
检测缓存文件是否超时
查看>>
十进制字符串转十六进制字符串
查看>>
属性字符串(富文本)的使用
查看>>
cell上label的背景颜色在选中状态下改变的解决办法
查看>>
GPS定位
查看>>
地图、显示用户位置、大头针
查看>>
自定义大头针
查看>>
UIButton添加block点击事件
查看>>
利用runtime给类别添加属性
查看>>
本地推送
查看>>
FMDB的使用
查看>>
UIImage存为本地文件与UIImage转换为NSData
查看>>
[转]打印质数的各种算法
查看>>
[转]javascript with延伸的作用域是只读的吗?
查看>>
php的autoload与global
查看>>
IE不支持option的display:none属性
查看>>