Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- vector<int> pi_function(string P)
- {
- std::vector<int> pi = {0};
- for(int i = 1, k = 0; i < P.size(); i++)
- {
- while(k > 0 && P[i] != P[k])
- k = pi[k - 1];
- pi.push_back(k += P[i] == P[k]);
- }
- return pi;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement