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

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

187. Repeated DNA Sequences

题目链接:

这道题要求所有重复出现的序列,那么可以想到得用hash table,因为这里限制了是10个字符长的序列,所以每次其实是去掉第一个letter,再加一个letter,这个思想和rabin karp挺像的,需要用int或者long来表示string。

public class Solution {    public List
findRepeatedDnaSequences(String s) { Set
res = new HashSet(); Set
dup = new HashSet(); Map
map = new HashMap(); map.put('A', 0); map.put('C', 1); map.put('G', 2); map.put('T', 3); int hash = 0; for(int i = 0; i < s.length(); i++) { hash = (hash << 2) | map.get(s.charAt(i)); hash &= 0xfffff; if(i >= 9 && !dup.add(hash)) { res.add(s.substring(i-9, i+1)); } } return new ArrayList(res); }}

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

你可能感兴趣的文章
play 源码分析
查看>>
Log4j针对不同包指定level
查看>>
Android中怎么启动关闭Service及功能解释
查看>>
SpringBoot入门八,添加定时任务
查看>>
SpringMVC springMVC的拦截器
查看>>
目录与文件属性——《Unix/Linux编程实践教程》读书笔记
查看>>
Spring中的自动装配(AutoWire)
查看>>
016,spring boot集成Mybatis之多数据源
查看>>
STM32学习笔记2——RC522
查看>>
Centos环境下的DNS智能解析
查看>>
linux启动jmeter报An error occurred
查看>>
华为设备工作中常用到的nat server配置
查看>>
RabbitMQ学习总结(6)——消息的路由分发机制详解
查看>>
Java基础学习总结(11)——重载与重写
查看>>
【Python基础 06】运算符
查看>>
Java 使用 Redis
查看>>
worldwind for java 探究之导入文件生成图层
查看>>
添加几张调价单
查看>>
向程序猿大军迈进
查看>>
Centos系统mysql 忘记root用户的密码
查看>>