Q200510-02: 重复的DNA序列 程序解法
问题: 重复的DNA序列
所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。
编写一个函数来查找 DNA 分子中所有出现超过一次的 10 个字母长的序列(子串)。
示例:
输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"
输出:["AAAAACCCCC", "CCCCCAAAAA"]
程序:
package test; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; public class Solution {
public List<String> findRepeatedSequences(String s){
Map<String,Integer> map=new HashMap<String,Integer>(); int endIndex=0;
int length=s.length();
for(int i=0;i<s.length();i++) {
endIndex=i+10;
if(endIndex>length) {
break;
} String sub=s.substring(i,endIndex);
if(map.containsKey(sub)) {
int value=map.get(sub)+1;
map.put(sub, value);
}else {
map.put(sub, 1);
}
} List<String> retvalList=new ArrayList<String>();
for(String key:map.keySet()) {
int value=map.get(key);
if(value>1) {
retvalList.add(key);
}
} return retvalList;
} public static void main(String[] args) {
Solution slt=new Solution();
List<String> ls=slt.findRepeatedSequences("AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT");
for(String str:ls) {
System.out.println(str);
}
}
}
输出:
AAAAACCCCC
CCCCCAAAAA
--2020年5月10日--
Q200510-02: 重复的DNA序列 程序解法的更多相关文章
- Q200510-02-02: 重复的DNA序列 SQL解法
重复的DNA序列所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”.在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助. 编写一个函数来 ...
- Leetcode 187.重复的DNA序列
重复的DNA序列 所有 DNA 由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:"ACGAATTCCG".在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮 ...
- LeetCode 187. 重复的DNA序列(Repeated DNA Sequences)
187. 重复的DNA序列 187. Repeated DNA Sequences 题目描述 All DNA is composed of a series of nucleotides abbrev ...
- Java实现 LeetCode 187 重复的DNA序列
187. 重复的DNA序列 所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:"ACGAATTCCG".在研究 DNA 时,识别 DNA 中的重复序列有时会对 ...
- [LeetCode] Repeated DNA Sequences 求重复的DNA序列
All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for example: "ACG ...
- [LeetCode] 187. Repeated DNA Sequences 求重复的DNA序列
All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for example: "ACG ...
- 重复的DNA序列[哈希表] LeetCode.187
所有 DNA 由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:"ACGAATTCCG".在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助. 编写一个函数 ...
- Leetcode187. Repeated DNA Sequences重复的DNA序列
所有 DNA 由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:"ACGAATTCCG".在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助. 编写一个函数 ...
- [Swift]LeetCode187. 重复的DNA序列 | Repeated DNA Sequences
All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for example: "ACG ...
随机推荐
- three.js 着色器材质之变量(二)
上一篇郭先生在例子中用到了着色器变量中的uniform和varying.这篇继续结合例子将一下attribute变量,在使用过程中也发现由于three.js的版本迭代,之前的一些属性和参数已经发生了改 ...
- 极简 Node.js 入门 - 1.4 NPM & package.json
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- Coders' Legacy 2020 题解
目录 Chef vs Doof Doof on Cartesian Doof fires Brackets Jeremy gets a gift Unique Substring Perry lear ...
- [BZOJ4237]稻草人 题解
我们考虑分治一下 按\(x\)坐标排序 然后对于每一段的两部分都按\(y\)排序 左右两边都维护一个单调栈 然后考虑右边对左边的贡献就行了 #include <bits/stdc++.h> ...
- C#LeetCode刷题,走进Google,走近人生
概述 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/1015 访问. 本系列博文将会向大家展示我在LeetCode上的刷 ...
- JavaScript Object初始化的不同方式
不带原型的对象,纯对象 const plaintObject = Object.create(null) 带原型的对象 const originObject = new Object()
- Salesforce学习笔记之Actions and Recommendations(续)
上次对这个Actions and Recommendations进行了初步研究,因为一些问题没有得到很好的解决,又花了很多时间,终于得到了一个比较好的解决方案.小结一下. 1. 生成Actions a ...
- .net Core 下使用 X509Certificate2 给报文加签
起因 项目开发中途出现需求需要对接其他公司接口,使用证书进行认证传输,之前在.Net下搞过但是都是对方给我证书 这次需要我生成公钥/私钥,公钥给他这样操作. 生成私钥/公钥(这里是RSA算法,长度规定 ...
- 正规式转化为DFA
https://www.bilibili.com/video/BV1dj411f7AR?p=50 例题:
- golang map 声明,赋值
参考链接:https://blog.csdn.net/wide288/article/details/84303511 // 先声明map var m1 map[string]string// 再使用 ...