字符串周期 KMP求解
2011-07-14 14:51
211 查看
#include<iostream> using namespace std; void GetNextArrary(string szPattern , int* aiNext) { aiNext[0] =-1; int iPatternLength = szPattern.size() ; int iPatternIndex = 0; int iNextIndex = -1; while(iPatternIndex <= iPatternLength) { if(iNextIndex == -1 || szPattern[iPatternIndex] == szPattern[iNextIndex]) { iNextIndex ++; iPatternIndex ++; aiNext[iPatternIndex] = iNextIndex; } else iNextIndex = aiNext[iNextIndex]; } } int main() { string szInput=""; cout<<"input calculated string plaase"<<endl; int aiNext[1000]; memset(aiNext,0,sizeof(aiNext)); while(cin>>szInput) { GetNextArrary(szInput,aiNext); cout<<"the cycle is "<<szInput.size() - aiNext[szInput.size()]<<endl; cout<<"input calculated string plaase"<<endl; } }
相关文章推荐
- uva 1630 KMP判断周期串 和 区间DP 压缩字符串
- 【bzoj5130】[Lydsy12月赛]字符串的周期 DFS+KMP
- BZOJ 5130([Lydsy12月赛]字符串的周期-最小表示法+kmp)
- HDU 3746 Cyclic Nacklace kmp处理字符串周期问题
- UVa 1328 (KMP求字符串周期) Period
- UVALive 3026 (LA 3026) Period KMP求字符串周期
- KMP匹配问题、求字符串的周期、Cyclic Nacklace
- POJ--2406Power Strings+KMP求字符串最小周期
- 通过kmp的失配数组来求解字符串的循环节
- 【kmp】 字符串最大周期
- POJ--2406Power Strings+KMP求字符串最小周期
- kmp求字符串最小周期
- 字符串查找问题,求解字符串的周期(KMP算法)
- KMP与周期字符串前缀
- 求解字符串周期
- poj 3080 kmp求解多个字符串的最长公共字串,(数据小,有点小暴力 16ms)
- LA3026 POJ1961 period 字符串周期(KMP) POJ2406 Power Strings
- CF119D(字符串-哈希求解(KMP求了半天,结果哈希更简单!))
- NEFU 1318 字符串的重复周期(KMP)
- KMP字符串模式匹配详解[转]