from time import clock import sys begin=clock() f=open('in15_3.txt','r') of=open('out_23_15_3.txt','w') text=f.readline() pattern=f.readline() def function(pattern, text): m = len(pattern) n = len(text) if m > n: return -1 list1 = [] for k in range(256): list1.append(m) for k in range(m - 1): list1[ord(pattern[k])] = m - k - 1 k = m - 1 while k < n: j = m - 1 i = k while j >= 0 and text[i] == pattern[j]: j -= 1 i -= 1 if j == -1: return i + 1 k += list1[ord(text[k])] return -1 position =function(pattern, text) if position > -1: of.write(str(position)+"\n") of.write("time taken="+str(clock()-begin)+"\n") of.write("memory="+str(sys.getsizeof(f)+sys.getsizeof(of)+sys.getsizeof(position)+sys.getsizeof(begin))) f.close() of.close()