題目描述 description
給出字串a和字串b,保證b是a的乙個子串,請你輸出b在a中第一次出現的位置。
輸入描述 input description
僅一行包含兩個字串a和b
輸出描述 output description
僅一行乙個整數
樣例輸入 sample input
abcd bc
樣例輸出 sample output
資料範圍及提示 data size & hint
字串的長度均不超過100
pascal使用者請注意:兩個字串之間可能包含多個空格
//詳細的kmp講解,我覺得比較好的
#include#include#includeusing namespace std;int main()
//對b串進行自匹配,儲存在f陣列中 ↑
for (int i=0,j=0;i0&&a[i]!=b[j]) j=f[j];//若是a,b串不匹配,則將b串正在匹配的位置移動到它上乙個重複的位置
if (a[i]==b[j]) j++;
if (j==l2)
}return 0;
}
尋找子串位置 codevs 1204
題目描述 description 給出字串a和字串b,保證b是a的乙個子串,請你輸出b在a中第一次出現的位置。輸入描述 input description 僅一行包含兩個字串a和b 輸出描述 output description 僅一行乙個整數 樣例輸入 sample input abcd bc 樣...
codeVS1204 尋找子串位置
kmp。一直沒有乙個裸kmp,根本看不懂kmp。蒟蒻本性。kmp的部分匹配值next j 在這個實現中的意思是,如果b j 1 和a i 失配,j next j 就是不斷返回直到b j 1 a i 計算的話,就用自己匹配自己吧。include include include using namesp...
CodeVS 1204 尋找字串位置
題目描述 description 給出字串a和字串b,保證b是a的乙個子串,請你輸出b在a中第一次出現的位置。輸入描述 input description 僅一行包含兩個字串a和b 輸出描述 output description 僅一行乙個整數 樣例輸入 sample input abcd bc 樣...