I Oulipo 判斷子字串

2021-08-06 05:50:14 字數 869 閱讀 5654

思路:

首先確定好模式串和文字串,對模式串處理,得到nex陣列,即可確定最大子字串的長度;

當然我們要清楚,kmp()的作用和原理;

原理即始終遵循nex[i]所在的下標值,表示前i個字串與後i個字串相同;

例如:str[9]=" ababa

bc";str[6]='b';

nex依次對應:nex[1~8]:0 0 1 2 3 4 0

nex[6]=4:"在ababab"中指前4個字串:」abab「 與後四個「abab」相同;

然後就是兩個字串進行比較,注意輸入字串的起始下標和比較時,兩者的下標

方法一:c

#include #include int nex[10005];

char str1[1000005],str2[10005];

int cnt;

void get(int len2)

}void kmp(int len1,int len2)

}}int main()

return 0;

}

方法二:c

#include #include int nex[10005];

char str1[1000005],str2[10005];

int cnt;

void get(int len2)

{ memset(nex,0,sizeof(nex));//清零!!

int i = 0,j = -1;

nex[0] = -1;

while (i多次測試!!結果依然是輸入翻了車!!下次一定要記得檢測輸入!!!

字串 判斷子串

給定兩個陣列s和t 只包含小寫字母 判斷s是否為t刪除若干字元後得到的子串。若單純判斷是否為子串,過程比較簡單,只需要設定兩個指標。public boolean issubsequence string s,string t if is s.length return true else retur...

判斷字串子串行

判斷字串子串行 給定字串 target和 source,判斷 target 是否為 source 的子串行。你可以認為 target 和 source 中僅包含英文小寫字母。字串 source可能會很長 長度 500,000 而 target 是個短字串 長度 100 字串的乙個子串行是原始字串刪除...

python 判斷字串是否包含子字串

第一種方法 in,主要是利用物件判斷 string helloworld if world in string print exist else print not exist 第二種方法 find string helloworld if string.find world 5 5的意思是worl...