这一题经典的用二进制序列表示字符串序列,以减少内存消耗的例子。
题目中提到DNA序列只包含四种碱基对,分别用A,C,G和T表示,那么就可以用二进制数来分别代表它们:
- A:00
- C:01
- G:10
- T:11
那么形如ACGT
的DNA序列就可以表示为00011011
,也就是27。而且这个值对于所有DNA序列都是唯一的,那么就可以把它作为key,出现的次数作为value,将已出现过的key都放入哈希表中即可。
代码如下:
1 | public class Solution { |
这一题经典的用二进制序列表示字符串序列,以减少内存消耗的例子。
题目中提到DNA序列只包含四种碱基对,分别用A,C,G和T表示,那么就可以用二进制数来分别代表它们:
那么形如ACGT
的DNA序列就可以表示为00011011
,也就是27。而且这个值对于所有DNA序列都是唯一的,那么就可以把它作为key,出现的次数作为value,将已出现过的key都放入哈希表中即可。
代码如下:
1 | public class Solution { |
原文作者: findingsea
原文链接: http://findingsea.github.io/2015/03/17/repeated-dna-sequences/
发表日期: March 17th 2015, 11:57:00 am
版权声明: 本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: true tags: true