TypeScript Genomic Range Query
function genomicRangeQuery(s: string, p: number[], q: number[]): number[] {
const r: number[] = [];
for (let k = 0; k < p.length; k++) {
const subStr = s.slice(p[k], q[k] + 1);
if (subStr.includes("A")) {
r.push(1);
} else if (subStr.includes("C")) {
r.push(2);
} else if (subStr.includes("G")) {
r.push(3);
} else {
r.push(4);
}
}
return r;
}
This builds prefix counts for each DNA letter so every query can return the minimum impact factor quickly.