187. Repeated DNA Sequences重复的DNA子串序列
[抄题]:
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.
Example:
Input: s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"Output: ["AAAAACCCCC", "CCCCCAAAAA"]
[暴力解法]:
时间分析:
空间分析:
[优化后]:
时间分析:
空间分析:
[奇葩输出条件]:
- set转成arraylist直接放到括号里就行了
[奇葩corner case]:
[思维问题]:
[英文数据结构或算法,为什么不用别的数据结构或算法]:
10个数,从开始算,加到9就可以了。
for (int i = 0; i + 9 < s.length(); i++)
.substring包左不包右,所以必须写十位数。但是inde
String ten = s.substring(i, i + 10);
beginIndex =< str的值 < endIndex
[一句话思路]:
[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):
[画图]:
[一刷]:
- set的判断语句 没加就自己自动加 没必要再写一遍
- set用add,map用put
[二刷]:
[三刷]:
[四刷]:
[五刷]:
[五分钟肉眼debug的结果]:
[总结]:
set就是判重,一个不够用可以用两个
[复杂度]:Time complexity: O(n) Space complexity: O(n)
[算法思想:迭代/递归/分治/贪心]:
[关键模板化代码]:
[其他解法]:
[Follow Up]:
[LC给出的题目变变变]:
[代码风格] :
[是否头一次写此类driver funcion的代码] :
[潜台词] :
class Solution {public List<String> findRepeatedDnaSequences(String s) { //ini: two setsList<String> result = new ArrayList<String>();Set<String> seen = new HashSet<String>();Set<String> ten = new HashSet<String>();//ccif (s.length() == 0) return result;//for loop: get substringfor (int i = 0; i + 9 < s.length(); i++) {String str = s.substring(i, i+ 10);if (!seen.add(str)) ten.add(str);}//returnreturn new ArrayList(ten);} }
View Code
转载于:https://www.cnblogs.com/immiao0319/p/9373543.html
187. Repeated DNA Sequences重复的DNA子串序列相关推荐
- LeetCode187—Repeated DNA Sequences
原题 原题链接 All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for example: & ...
- Java实现 LeetCode 187 重复的DNA序列
187. 重复的DNA序列 所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:"ACGAATTCCG".在研究 DNA 时,识别 DNA 中的重复序列有时会对 ...
- Leetcode 187.重复的DNA序列
重复的DNA序列 所有 DNA 由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:"ACGAATTCCG".在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮 ...
- [LeetCode]187. 重复的DNA序列(java实现)暴力 + 哈希
[LeetCode]187. 重复的DNA序列(java实现) 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6. 总结 1. ...
- Repeated DNA Sequences @leetcode
早上到公司第一件事变成了刷leetcode,发现各种题目的各种解法,真心是个挺有趣的过程.比如今天早上碰到的这个DNA序列的问题,一开始完全没有头绪,但是后来看了些文章发现,真的是二进制大法好啊! 会 ...
- LeetCode 187. 重复的DNA序列(哈希/位运算)
1. 题目 所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:"ACGAATTCCG". 在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助 ...
- LeetCode:187.重复的DNA序列解析
所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:"ACGAATTCCG".在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助. 编写一个函 ...
- 力扣 187. 重复的DNA序列
1.题目 DNA序列 由一系列核苷酸组成,缩写为 'A', 'C', 'G' 和 'T'.. 例如,"ACGAATTCCG" 是一个 DNA序列 . 在研究 DNA 时,识别 DN ...
- 【数据结构与算法】之重复的DNA序列的算法求解
一.题目要求 所有 DNA 都由一系列缩写为 'A','C','G' 和 'T' 的核苷酸组成,例如:"ACGAATTCCG".在研究 DNA 时,识别 DNA 中的重复序列有时会 ...
最新文章
- 才知道百度也提供了智能DNS服务 - 加速乐
- ASP.NET MVC自定义ActionResult实现文件压缩
- Arm architecture 第一章
- Python 日志模块Loguru的使用
- 十分钟让你明白AIDL
- dedecms 在模板里引入php文件夹,dedecms如何添加并引入php文件
- ANSI C标准预定义宏
- 翻译 - EXT JS 5:Controlling an Application with Router
- 重构Webpack系列之一 ---- 概念篇
- c 语言车牌识别系统课题设计,基于图像的车牌识别系统的设计和实现
- linux中deb文件怎么安装,deb是什么文件?deb文件怎么安装?
- python 视图对象_Python之路【第二十八篇】:django视图层、模块层
- 《今日简史》PDF/非mobi epub
- Android 知识点——Method put in org.json.JSONObject not mocked
- CCS 使用报错合集 -mcu:cc26xx
- 用友NCV6.5继续服务大型企业互联网化
- ARM V8 base instruction -- WFI
- 平均股价的时间序列图形_每年的平均股价怎么算
- 使用AIDA64极致版设置通过RGB背光设备映射电脑状态
- Quantum LeaPs(QP)介绍