# z-algorithm ```cpp= void match(vector<int> &z, string s){ int len=s.size(); z[0]=0; int l=0, r=0; rep(i,1,len){ if(i<=r) z[i]=min(z[i-l], r-i+1); while(i+z[i]<len && s[z[i]] == s[i+z[i]]) z[i]++; if(i+z[i]-1>r) l=i, r=i+z[i]-1; } } ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up