Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- s = "abbabaabbabbaabbaaaba"
- t = "abba"
- s = [ord(c) - ord('a') for c in s]
- t = [ord(c) - ord('a') for c in t]
- backlook = []
- frontlook = []
- t_index = 0
- t_size = len(t)
- powers = [27 ** i for i in range(5)]
- print (powers)
- t_roller = 0
- for i in range(len(t)):
- t_roller += t[i] * powers[t_size - i - 1]
- print(t_roller)
- def find_forward(start_index, end_index):
- if end_index - start_index < t_size:
- return 0
- print("hi")
- roller = 0
- i = start_index
- counter = 0
- sub_string = []
- while i < end_index:
- sub_string.append(s[i])
- roller *= 27
- roller += sub_string[-1]
- if len(sub_string) > t_size:
- c = sub_string.pop(0)
- roller -= c * powers[t_size]
- if t_roller == roller:
- print ("horray")
- return
- i+=1
- find_forward(0, len(s))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement