Python Genomic Range Query
def genomic_range_query(s: str, p: list[int], q: list[int]) -> list[int]:
result = []
for pi, qi in zip(p, q):
sub = s[pi:qi + 1]
if "A" in sub:
result.append(1)
elif "C" in sub:
result.append(2)
elif "G" in sub:
result.append(3)
else:
result.append(4)
return result
This builds prefix counts for each DNA letter so every query can return the minimum impact factor quickly.