【LeetCode】重复的 DNA 序列 Java 题解
题目描述
所有 DNA 都由一系列缩写为 'A','C','G' 和 'T' 的核苷酸组成,例如:"ACGAATTCCG"。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。
编写一个函数来找出所有目标子串,目标子串的长度为 10,且在 DNA 字符串 s 中出现次数超过一次。
复制代码
思路分析
今天的算法每日一题是字符串处理题目。题干的关键信息是目标子串的长度为 10。理解题意之后,我们可以采用对字符串进行分割的方式,枚举出目标子串,同时使用 hashmap 对目标子串进行计数。实现代码如下:
通过代码
复制代码
总结
上述算法的时间复杂度是 O(n), 空间复杂度是 O(n)
坚持算法每日一题,加油!
版权声明: 本文为 InfoQ 作者【HQ数字卡】的原创文章。
原文链接:【http://xie.infoq.cn/article/b656794db7483816e7ebeccb0】。文章转载请联系作者。
评论