mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-24 05:21:09 +00:00
33 lines
837 B
Python
33 lines
837 B
Python
"""
|
|
this algorithm tries to find the pattern from every position of
|
|
the mainString if pattern is found from position i it add it to
|
|
the answer and does the same for position i+1
|
|
|
|
Complexity : O(n*m)
|
|
n=length of main string
|
|
m=length of pattern string
|
|
"""
|
|
|
|
|
|
def naivePatternSearch(mainString, pattern):
|
|
patLen = len(pattern)
|
|
strLen = len(mainString)
|
|
position = []
|
|
for i in range(strLen - patLen + 1):
|
|
match_found = True
|
|
for j in range(patLen):
|
|
if mainString[i + j] != pattern[j]:
|
|
match_found = False
|
|
break
|
|
if match_found:
|
|
position.append(i)
|
|
return position
|
|
|
|
|
|
mainString = "ABAAABCDBBABCDDEBCABC"
|
|
pattern = "ABC"
|
|
position = naivePatternSearch(mainString, pattern)
|
|
print("Pattern found in position ")
|
|
for x in position:
|
|
print(x)
|