給定兩個字串string1和string2,判斷string2是否為string1的子串。
輸入包含多組資料,每組測試資料報含兩行,第一行代表string1(長度小於1000000),第二行代表string2(長度小於1000000),string1和string2中保證不出現空格。
對於每組輸入資料,若string2是string1的子串,則輸出string2在string1中的位置,若不是,輸出-1。
abca123456
45abc
ddd
14-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...