求模式串在待匹配串的出現次數。

2021-08-27 05:17:11 字數 645 閱讀 3173

求模式串在待匹配串的出現次數。
input

第一行是乙個數字t,表明測試資料組數。

之後每組資料都有兩行:第一行為模式串,長度不大於10000;第二行為待匹配串,長度不大於1000000。所有字串只由大寫字母組成。

output

每組資料輸出一行結果。
sample input

4

abcd

abcd

abaabababa

cdcdcdc

cdckmp

*****

sample output

130

0

這也是一道hash的演算法題, 下面給出ac**:

#include#include#define ull unsigned long long

char ch1[1000009];

ull hash[1000009];

char ch2[10009];

const int p=300;

int main()

printf("%d\n",cnt);

}return 0;

}

KMP 計算模式串出現的次數

參考資料 從頭到尾徹底理解kmp 實現 182538 solution 一 問題描述 判斷一段文字 原串,str src,長度為len src 裡面是不是存在那麼一些特殊的文字 模式串,str ptn,長度為len ptn 如若存在,計算該模式串出現的次數。輸入 第一行乙個整數n,表示測試資料組數。...

求乙個子串在整串中出現的次數。

需求 已知整串,nbaernbatynbauinbaopnba 求乙個子串 nba 在乙個整串中出現的次數。思路 1 利用indexof 判斷子串是否在整串中存在,若存在則記錄其位置。2 利用剩餘字串繼續查詢。3 設定計數器記錄 package string public class test2 方...

統計子串在主串中出現的次數

思路 定義兩個指標p,q p指向主串首位址,q指向子串首位址。如果對應的字元相等,那麼 p,q,即兩個指標都向後移乙個單位再繼續比較 p和 q,否則q回到子串的首位址,只把指標p向後移動乙個單位。依次類推,如果 q 0 說明子串已經終止,子串在主串中出現的次數加1,直到主串終止為止。includei...