lintcode 774. 重复

本文介绍了一种算法,用于从DNA序列中找出所有长度为10个字母且出现超过一次的重复序列。通过滑动窗口和哈希表的方法,有效地解决了这一生物信息学问题。

所有的DNA由一系列缩写的核苷酸 A, C, G 和 T组成.
比如; “ACGAATTCCG”. 在研究 DNA 时, 有时候鉴别出 DNA 中的重复序列是很有用的.
写一个函数来找到所有在 DNA 中出现超过一次且长度为 10个字母 的序列(子串).

样例
例1:

输入:
"AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"
输出:
["AAAAACCCCC","CCCCCAAAAA"]2:

输入:
"GAGAGAGAGAGA"
输出:
["GAGAGAGAGA"]

思路:每次删除前面的字符,增添后面的一个字符,然后放进map中,统计每个字符的出现次数,超过一次的加入结果数组即可

class Solution {
public:
    /**
     * @param s: a string represent DNA sequences
     * @return: all the 10-letter-long sequences 
     */
    vector<string> findRepeatedDna(string &s) {
        // write your code here
        vector<string>res;
        map<string,int> visit;
        if(s.size()<=10) return res;
        string tmp=s.substr(0,10);
        visit[tmp]++;
        for (int i = 10; i < s.size(); i++) {
            tmp.erase(tmp.begin());
            tmp+=s[i];
            visit[tmp]++;
        }
        for (auto str : visit) {
            if(str.second>1) res.push_back(str.first);
        }
        return res;
    }
};
【源码免费下载链接】:https://renmaiwang.cn/s/gxrh8 该系统采用PHP开发,功能定位为在线视频平台,并专为电影网站搭建与管理而设计。其核心优势在于具备数据采集能力,能够自动生成来自网络的影视资源链接,从而帮助用户快速构建内容库并减少手动上传工作量。在系统架构中,包含多个关键组件:配置文件(.htaccess)用于定义URL重写规则;Apache服务器配置文件(.htaccess)可能支持SEO优化、隐藏真实路径或实现目录保护等功能;IIS服务器配置文件(httpd.ini)包含了PHP配置信息、站点设置及权限管理等数据;入口文件(index.php)负责处理用户请求并展示首页内容,同时支持用户登录操作;安装脚本(install.php)引导数据库连接设置、权限验证和初始数据导入过程;后台管理界面(admin.php)允许管理员完成对网站的各种控制与维护;系统介绍文档(system-intro.txt)详细描述了系统的功能特性及其适用场景;安装说明文件(install-manual.txt)提供完整的部署步骤及注意事项;合作邀请文件(invite-partners.txt)旨在吸引合作伙伴共同推广或定制该平台;HTML模板文件位于/HMPL子目录中,用于构建网站前端页面;运行时临时文件存放于/Runtime目录内,管理日志、缓存和会话数据等。这些组件协同运作,形成一个功能完善且易于管理的在线视频平台系统,在合理配置下,用户可快速搭建包含电影推荐、分类、搜索与评论等功能的网站,并通过数据采集维持内容更新。对于希望进入在线视频领域的企业或个人来说,这是一份值得考虑的选择方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值