这两天又看了一遍《算法导论》上面的字符串匹配那一节,下面是实现的几个程序,可能有错误,仅供参考和交流。关于详细的讲解,网上有很多,大多数算法及数据结构书中都应该有涉及,由于时间限制,在这就不重复了。需要说明的是: stra:主串,及需要从中寻找模式串的字符串 strb:模式串 《算法导论》上面包括严...
分类:
其他好文 时间:
2014-07-22 23:08:34
阅读次数:
320
问题描述:给出模板串A和子串B,长度分别为lenA和lenB,要求在线性时间内,对于每个A[i](0求一个字符串的最长回文子串和最长重复子串。
算法讲解:设next[i]为满足B[i..i+z-1]==B[0..z-1]的最大的z值(也就是B的自身匹配)。设目前next[0..lenB-1]与ex[0..i-1]均已求出,要用它们来求ex[i]的值。
设p为目前A串中匹配到的最远位置...
分类:
其他好文 时间:
2014-05-08 16:10:14
阅读次数:
301
题目链接:uva 1371 - Period
题目大意:给出两个字符串A,B将B分解成若干个子字符串,然后每个子字符串都要变成字符串A,所有子串中编辑最多的次数即为当前状态下的最大编辑次数,要求求最小的最大编辑次数。
解题思路:二分答案,用dp判断,主要是dp判断,dp[i][j]表示到1~i的字符串匹配到j的最大编辑次数,然后考虑分段的时候只要dp[i][0]
...
分类:
其他好文 时间:
2014-05-07 05:09:12
阅读次数:
282
题目:
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087
题意:
给出字符串s1和s2,找出s1中有多少个s2。
算法:
KMP字符串匹配。
思路:
简单,看代码吧。(需要注意的就是字符串用要scanf输入)
代码:
#include
#include
#include
using namespac...
分类:
其他好文 时间:
2014-05-07 04:46:37
阅读次数:
304
现象:在试用JQuery的时候遇到元素查找,过程中使用parentsUntil()和next()函数,但是老是得到undefined原因:在jQuery官方文档中描述的这3个函数都返回jquery对象,实际则不是,parent()函数返回jquery对象,返回的是单个父元素对象,而parents()...
分类:
Web程序 时间:
2014-05-06 12:32:16
阅读次数:
378
九度机试 题目1165:字符串匹配 2008年北京航空航天大学计算机研究生机试真题...
分类:
其他好文 时间:
2014-05-03 21:39:40
阅读次数:
224
算法:
#include
using namespace std;
#define MAXSIZE 100
void calNext(const char *T,int *next);//T为模式串,next为预判数组
int kmp_match(const char *S,const char *T);//在主串S中寻找模式串T,如果找到返回其位置,否则返回-1。位置从0开始
void ...
分类:
其他好文 时间:
2014-05-02 02:25:40
阅读次数:
280
ji
克努特-莫里斯-普拉特算法,简称KMP算法。...
分类:
其他好文 时间:
2014-05-01 18:18:07
阅读次数:
327
字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB
ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科...
分类:
其他好文 时间:
2014-05-01 08:40:55
阅读次数:
316
在Java中,字符串的匹配可以使用下面两种方法:
1、使用正则表达式判断字符串匹配
2、使用Pattern类和Matcher类判断字符串匹配
正则表达式的字符串匹配:
正则表达式:定义一组字符串的一系列字符和符号,它由常量字符和特殊符号构成。
下面是正则表达式的一些预定义字符类,实际上是一些转...
分类:
编程语言 时间:
2014-04-30 22:48:39
阅读次数:
410