力扣:187. 重复的DNA序列(Python3)

题目:

DNA序列 由一系列核苷酸组成,缩写为 'A', 'C', 'G''T'.。

  • 例如,"ACGAATTCCG" 是一个 DNA序列

在研究 DNA 时,识别 DNA 中的重复序列非常有用。

给定一个表示 DNA序列 的字符串 s ,返回所有在 DNA 分子中出现不止一次的 长度为 10 的序列(子字符串)。你可以按 任意顺序 返回答案。

来源:力扣(LeetCode)

链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

示例:

示例 1:

输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"

输出:["AAAAACCCCC","CCCCCAAAAA"]

示例 2:

输入:s = "AAAAAAAAAAAAA"

输出:["AAAAAAAAAA"]

解法:

使用滑动窗口记录每个子串出现的次数。

代码:

python 复制代码
class Solution:
    def findRepeatedDnaSequences(self, s: str) -> List[str]:
        dic = defaultdict(int)
        result = []
        if len(s) >= 10:
            for index in range(len(s) - 9):
                dic[s[index: index + 10]] += 1
            result = [k for k, v in dic.items() if v > 1]
        return result
相关推荐
zephyr052 分钟前
DP 从放弃到拿捏:一份持续更新的动态规划题解清单(一)
算法·动态规划
咋吃都不胖lyh5 分钟前
导出可复用的包版本信息(核心命令)
python
岛雨QA5 分钟前
树结构的基础部分「Java数据结构与算法学习笔记9」
数据结构·算法
会编程的土豆6 分钟前
2.25 做题
数据结构·c++·算法
Frostnova丶17 分钟前
LeetCode 1356. 根据数字二进制下1的数目排序
数据结构·算法·leetcode
jiang_changsheng19 分钟前
ms-swift 训练、微调、推理、评估、量化与部署的统一框架。配合comfyui使用
人工智能·python
GEO行业研究员21 分钟前
AI是否正在重构个体在健康相关场景中的决策路径——基于系统建模与决策链条结构分析的讨论
人工智能·算法·重构·geo优化·医疗geo·医疗geo优化
岛雨QA25 分钟前
哈希表「Java数据结构与算法学习笔记8」
数据结构·算法
独自破碎E29 分钟前
【DFS】BISHI76 迷宫寻路
算法·深度优先
寄存器漫游者37 分钟前
Linux 线程间通信
数据库·算法