KMP簡單應用

2021-06-22 07:20:22 字數 819 閱讀 2833

給定兩個字串string1和string2,判斷string2是否為string1的子串。

輸入包含多組資料,每組測試資料報含兩行,第一行代表string1(長度小於1000000),第二行代表string2(長度小於1000000),string1和string2中保證不出現空格。

對於每組輸入資料,若string2是string1的子串,則輸出string2在string1中的位置,若不是,輸出-1。

abc

a123456

45abc

ddd

1

4-1

cjx#include

#include

#define h 1000001

char

str1[h],str2[h];  

intnext[h];  

void

getnext(

char

str[h])  

else

j = next[j];  

}  }  

intkmp(

char

s1[h],

char

s2[h])  

else

j = next[j];  

}  if

( j >= len2)  

return

i-len2+1;  

else

return

-1;  

}  int

main()  

return

0;  

}  

KMP簡單應用

kmp簡單應用 time limit 1000ms memory limit 65536k 給定兩個字串string1和string2,判斷string2是否為string1的子串。輸入包含多組資料,每組測試資料報含兩行,第一行代表string1 長度小於1000000 第二行代表string2 長...

KMP簡單應用

給定兩個字串string1和string2,判斷string2是否為string1的子串。輸入包含多組資料,每組測試資料報含兩行,第一行代表string1 長度小於1000000 第二行代表string2 長度小於1000000 string1和string2中保證不出現空格。對於每組輸入資料,若s...

kmp的簡單應用

給定兩個字串string1和string2,判斷string2是否為string1的子串。輸入包含多組資料,每組測試資料報含兩行,第一行代表string1 長度小於1000000 第二行代表string2 長度小於1000000 string1和string2中保證不出現空格。對於每組輸入資料,若s...