力扣: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
相关推荐
imaol13 分钟前
文件编程--标准IO
linux·运维·算法
青 春 记 忆7 分钟前
LeetCode 121. 买卖股票的最佳时机|Python 解法详解
python·算法·leetcode
满怀冰雪11 分钟前
21-图像分类实战:从 MNIST 到 CIFAR-10
人工智能·python·深度学习·分类·数据挖掘·paddlepaddle
stolentime19 分钟前
AT_agc066_a [AGC066A] Adjacent Difference题解
c++·算法·贪心算法·构造
Logintern0920 分钟前
Celery 的底层架构正是进程池、事件循环、epoll 和协程全部组合在了一起
python·架构·消息队列·进程·celery·事件循环
用户03321266636721 分钟前
在 Word 文档快速中插入图片【Python 教程】
python
盖伦发发27 分钟前
RAG 能跑≠能用:用 EDD 把 Eval 做成基础设施 (附源码)
人工智能·后端·python·功能测试
渣波31 分钟前
深度解析:LeetCode 51. N 皇后 —— 回溯算法的巅峰之作
算法
咪饭只吃一小碗35 分钟前
# C++ STL 常用容器方法全面总结vector / map / set / unordered_map / unordered_set
算法
daad77742 分钟前
802.11 前导码与 STF 深度解析(含检测算法与 5G 对比
人工智能·算法·5g·wifi·802.11·前导码