(转)KMP的next数组模板
生活随笔
收集整理的這篇文章主要介紹了
(转)KMP的next数组模板
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
由于一個月之前看的那個博客過于詳細,導致那個進階版kmp看懂了原理但沒理解代碼,所以遇到題目也不會用
這里掛一個通俗易懂的模板,簡單還好背
先上原博客鏈接:https://blog.csdn.net/qq_37969433/article/details/82947411
寫的很棒,適合沒學過kmp的人學習
然后就是板子:(下標從0開始)
const int N=2e3+100;int nt[N]; void getnext(string& s) {nt[0]=-1;int i=0,j=-1;while(i<s.size()){if(j==-1||s[i]==s[j])nt[++i]=++j;elsej=nt[j];} }(下標從1開始)?
https://blog.csdn.net/a599s/article/details/107898659
void get_next() {int len=strlen(s+1);nt[1]=0;for(int i=2,j=0;i<=len;i++) {while(j!=0&&s[j+1]!=s[i]) {j=nt[j];}if(s[j+1]==s[i]) {j++;}nt[i]=j;} }?
總結
以上是生活随笔為你收集整理的(转)KMP的next数组模板的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PAT (Advanced Level)
- 下一篇: (转)字典树原理+实现