摘要: 问题:给定一个字符串序列,代表 DNA 序列,求其中有重复出现的长度为 10 的子序列。 题目中的例子都是不重叠的重复字串,实际上相互重叠的字串也是要统计进去,例如11位的 "AAAAAAAAAA" 就包含两个长度为 10 的"AAAAAAAAAA" 的重复子序列。这一点是题目没有说清楚的。 明确题目后,实现思路也比较简单: 将 s 中所有长度为 10 的连续子字符串放入 map ss_cnt 中,数各个连续字符串出现的的次数 将 [0, 9] 视为窗口,将 ss_cnt 中窗口字符串对于的 value 减 1 ,然后判断 ss_cnt 中是否还存在一个 窗口字符串, 若存在则表示窗口字符串是重复的。 将窗口向右移动一个,继续重复第二步,直至窗口移至最右端 阅读全文
posted @ 2016-01-18 23:48 TonyYPZhang 阅读(1037) 评论(2) 推荐(0) 编辑