codility GenomicRangeQuery
2017-08-28 09:25
393 查看
Question: codility Lesson5 GenomicRangeQuery
My Answer:
My Answer:
def solution(S,P,Q): res = [] slen = len(S) dic = {'A':1,'C':2,'G':3,'T':4} next_pos = [[-1] * slen,[-1] * slen,[-1] * slen,[-1] * slen] next_pos[dic[S[-1] - 1]][-1] = slen - 1 for i in range(slen-2,-1,-1): next_pos[0][i] = next_pos[0][i + 1] next_pos[1][i] = next_pos[1][i + 1] next_pos[2][i] = next_pos[2][i + 1] next_pos[3][i] = next_pos[3][i + 1] next_pos[dic[S[i]] - 1][i] = i for i in range(len(P)): if next_pos[0][P[i]] != -1 and next_pos[0][P[i]] <= Q[i]: res.append(1) elif next_pos[1][P[i]] != -1 and next_pos[1][P[i]] <= Q[i]: res.append(2) elif next_pos[2][P[i]] != -1 and next_pos[2][P[i]] <= Q[i]: res.append(3) else: res.append(4) return res
相关文章推荐
- 【题解】【数组】【Prefix Sums】【Codility】Genomic Range Query
- [codility]GenomicRangeQuery
- [codility]GenomicRangeQuery
- [codility]GenomicRangeQuery
- Codility---GenomicRangeQuery
- [codility]GenomicRangeQuery
- *[codility]GenomicRangeQuery
- Codility -- Genomic-range-query
- codility: GenomicRangeQuery
- [codility]GenomicRangeQuery
- [codility]Genomic-range-query
- GenomicRangeQuery
- Colidity--GenomicRangeQuery
- [leetcode]304. Range Sum Query 2D - Immutable
- 303,Range Sum Query
- [leetcode] 303. Range Sum Query - Immutable
- leetcode 307. Range Sum Query - Mutable
- QueryBuildRange的空值使用
- leetcode 303. Range Sum Query - Immutable
- LeetCode[307]Range Sum Query - Mutable(Java)