Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const z_algo=(s)=>{
- let n = s.length;
- var z = [n];
- let l=0,r=0;
- for (let i = 1; i < n; i++) {
- if (i > r) {
- l = r = i;
- while (r < n && s[r - l] == s[r]) r += 1;
- z[i] = r - l;
- r -= 1;
- } else if (z[i - l] < r - i + 1) {
- z[i] = z[i - l];
- } else {
- l = i;
- while (r < n && s[r - l] == s[r]) r += 1;
- z[i] = r - l;
- r -= 1;
- }
- }
- return z;
- }
Add Comment
Please, Sign In to add comment