LeetCode之Repeated DNA Sequences
2015-09-01 21:24
519 查看
/*本题最直观的想法是用Hash Table存储起连续的10个字符串,但是这样会超出内存限制。 所以用一个数字代替A/C/GT,减少内存消耗。*/ class Solution { public: vector<string> findRepeatedDnaSequences(string s) { vector<int> letters(256, 0); letters['A'] = 0; letters['C'] = 1; letters['G'] = 2; letters['T'] = 3; vector<string> res; unordered_map<int, int> hash; int key = 0, er = 0xFFFFF; for(int i = 0; i < s.size(); ++i){ key = (key << 2) + letters[s[i]]; if(i >= 9){ key &= er; if(hash[key] == 1) res.push_back(s.substr(i-9, 10)); hash[key] += 1; } } return res; } };
相关文章推荐
- UI_UIGestureRecognizer(触摸手势)
- UINavigationController视图控制器
- iPhone第三节:UITableView(2)
- HDU 4893(Wow! Such Sequence!-线段树单点修改+区间求和+改为最近Fib数)
- InputFormat到key-value生成流程
- iPhone第三节:UITableView
- UIProgressView 进度条
- Codeforces 52A 123-sequence
- UITableView<三>
- UGUI基本控件(二)
- UIToolbar工具栏类
- 尽量用pass-by-reference-to-const(const引用)替换pass-by-value(传值)
- 尽量用pass-by-reference-to-const(const引用)替换pass-by-value(传值)
- UICollectionView 集合视图
- Android UI设计小知识——富文本
- setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key解决办法
- UIView与CALayer的区别
- UITableView<二>
- UIView动画和CAAnimation动画
- 页面之间传值方式的总结,五种方式,通知,block,代理,单例,NSUERDEFALUT,