LeetCode – Refresh – Repeated DNA Sequences
2015-03-22 11:03
267 查看
Follow the hint from https://leetcode.com/discuss/24478/i-did-it-in-10-lines-of-c
1. The last three digits of binary format will be :
A 001
C 011
G 111
T 100
So as 10 chars need 3 * 10 bits to record the status. We choose 0x3FFFFFF, still less than 32 bits.
9 chars: 0x1FFFFFFF
8 chars: 0xFFFFFF
7 0x1FFFFF
6 0x3FFFF
5 0x7FFF
4 0xFFF
3 0x1FF
2 0x3F
1 0x7
Code:
1. The last three digits of binary format will be :
A 001
C 011
G 111
T 100
So as 10 chars need 3 * 10 bits to record the status. We choose 0x3FFFFFF, still less than 32 bits.
9 chars: 0x1FFFFFFF
8 chars: 0xFFFFFF
7 0x1FFFFF
6 0x3FFFF
5 0x7FFF
4 0xFFF
3 0x1FF
2 0x3F
1 0x7
Code:
class Solution { public: vector<string> findRepeatedDnaSequences(string s) { vector<string> result; unordered_map<int, int> record; int current = 0, len = s.size(); for (int i = 0; i < len; i++) { if (record[current = (current << 3 & 0x3FFFFFFF | s[i] & 7)]++ == 1) { result.push_back(s.substr(i-9, 10)); } } return result; } };
相关文章推荐
- LeetCode:Repeated DNA Sequences
- leetcode 日经贴,python code -repeated-dna-sequences
- Leetcode:Repeated DNA Sequences详细题解
- LeetCode || Repeated DNA Sequences
- leetcode 204/187/205 Count Primes/Repeated DNA Sequences/Isomorphic Strings
- Leetcode: Repeated DNA Sequences
- [LeetCode]Repeated DNA Sequences
- [LeetCode] Repeated DNA Sequences
- LeetCode187—Repeated DNA Sequences
- [LeetCode]Repeated DNA Sequences
- leetcode_Repeated DNA Sequences
- [leetcode] Repeated DNA Sequences
- LeetCode - Repeated DNA Sequences
- Leetcode Repeated DNA Sequences
- [leetcode 187]Repeated DNA Sequences
- [LeetCode]Repeated DNA Sequences,解题报告
- Leetcode 187 Repeated DNA Sequences 重复出现的DNA序列
- leetcode 187: Repeated DNA Sequences
- LeetCode——Repeated DNA Sequences
- LeetCode Repeated DNA Sequences