Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- a = input()
- z = [0 for i in range(len(a))]
- l, r = 0, 0
- for i in range(0, len(a)):
- z[i] = min(z[i - l], r - i) if r > i else 0
- while i + z[i] < len(a) and a[z[i]] == a[i + z[i]]:
- z[i] += 1
- if i + z[i] > r:
- l, r = i, i + z[i]
- for i in range(len(z)):
- print(z[i], end=" ")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement