15 lines
389 B
Python
15 lines
389 B
Python
def ApproximatePatternCount(Pattern, Text, d):
|
|
count = 0
|
|
for i in range(len(Text)-len(Pattern)+1):
|
|
if Text[i:i+len(Pattern)] == Pattern or HammingDistance(Text[i:i+len(Pattern)], Pattern) <= d:
|
|
count += 1
|
|
return count
|
|
|
|
|
|
def HammingDistance(p, q):
|
|
count = 0
|
|
for i in range(0, len(p)):
|
|
if p[i] != q[i]:
|
|
count += 1
|
|
return count
|