Repeated DNA Sequences
来源:互联网 发布:印尼海关数据 编辑:程序博客网 时间:2024/06/05 03:30
这道题如果直接用map来存储子字符串的话会MLE,需要通过将子字符串转成hash只存储从而节省存储空间。
值得注意的一个技巧是,为了避免重复加入元素,我们只有在map中计数为2时才将其加入结果中,这样结果中就不会出现重复元素了。
论坛里大神给出的解决方案如下:
class Solution {public: vector<string> findRepeatedDnaSequences(string s) { unordered_map<size_t,int> MP; hash<string> hash_fn; vector<string> ret; for(int i = 0; i < int(s.size()) - 9; ++i) if(MP[hash_fn(s.substr(i,10))]++ == 1 ) ret.push_back(s.substr(i,10)); return ret; }};
这里的hash函数也可以选择自己实现,论坛里给出了一种实现方法,这种方法在本题的限制下,可以保证不同的长度为10的子串可以产生不同的hash值。
https://leetcode.com/discuss/24478/i-did-it-in-10-lines-of-c
0 0
- Leetcode Repeated DNA Sequences
- Repeated DNA Sequences [leetcode]
- Repeated DNA Sequences
- Repeated DNA Sequences
- [LeetCode] Repeated DNA Sequences
- Repeated DNA Sequences
- Leetcode Repeated DNA Sequences
- Leetcode:Repeated DNA Sequences
- Leetcode: Repeated DNA Sequences
- Repeated DNA Sequences (Java)
- Repeated DNA Sequences
- LeetCode: Repeated DNA Sequences
- LeetCode: Repeated DNA Sequences
- LeetCode Repeated DNA Sequences
- LeetCode--Repeated DNA Sequences
- [LeetCode]Repeated DNA Sequences
- Repeated DNA Sequences
- [Leetcode]Repeated DNA Sequences
- Spark这一年,从开源到火爆
- bash脚本测网络流量
- 64位win7下使用PL/SQL Developer连接远程Oracle数据库
- 代理模式
- Codeforces 514 D R2D2 and Droid Army(RMQ+二分)
- Repeated DNA Sequences
- NOIP 2011 选择客栈
- 制作rpm初学
- hdu 2161 Primes 筛法求素数 大水题
- Linux下/etc/fstab文件详解
- android使用隐藏api的方法(使用被@hide的api)
- Azure 上删除虚机是否保留附加磁盘?
- AFNetworking 请求头的设置
- URL 地址 加密控制