KMP
来源:互联网 发布:linux 安装 jdk 编辑:程序博客网 时间:2024/06/05 09:53
从下标1开始。
inline void Calnxt ( char* s, int* nxt, int len ) { register int i = 1, k = -1 ; nxt [0] = -1 ; while ( i <= len ) ( k == -1 || s [i] == s [k + 1] ) ? ( nxt [i ++] = ++ k ) : k = nxt [k] ; }inline void Kmp ( char* a, char* b, int lena, int lenb, int* nxtb ) { register int i ( 0 ), j ( -1 ) ; while ( i <= lena ) { if ( j == -1 || a [i] == b [j + 1] ) { ++ i, ++ j ; if( j == lenb ) { printf ( "%d\n", i - j ) ; j = nxtb [j] ; } } else j = nxtb [j] ; }}
从下标0开始
void Calnxt ( char* s ) { int len = strlen ( s ) ; int i = 0, k = -1 ; nxt [0] = -1 ; while ( s [i] ) ( k == -1 || s [i] == s [k] ) ? nxt [++ i] = ++ k : k = nxt [k] ; }inline void Kmp ( char* a, char* b ) { int lena ( strlen ( a ) ), lenb ( strlen ( b ) ) ; int i = 0, j = 0 ; while( i < lena ) if ( j == -1 || a [i] == b [j] ) { ++ i, ++ j ; if( j == lenb ) printf ( "Successed at %d\n", i - j ), j = nxt [j] ; } else j = nxt [j] ;}
阅读全文
0 0
- KMP
- KMP
- KMP
- KMP
- KMP
- KMP
- kmp
- kmp
- KMP
- kmp
- KMP
- KMP
- KMP
- kmp
- KMP
- KMP
- kmp
- KMP
- 浏览器缓存总结
- TensorLow: FailedPreconditionError:Attempting to use uninitialized value Variable
- 斐波那契+数颜色
- 图像处理-双边滤波原理
- android 链式调用
- KMP
- iOS开发-RunLoop的退出方式
- cvpr 2017 re-id papers
- 11.7 T3.B
- struct和typedef struct
- tensorflow(2)---linux,anaconda2,pycharm中调用tensorflow
- VB.net 图片加载内存问题
- install ssh by Cygwin about windows
- Cas单点登录(7)Cas登录过期时间