不得不说ACM哪怕是没有结果,对于算法能力的训练是毋庸置疑的…… 因为老师划了重点,所以讲一下horspool的字符串匹配算法的原理吧。 先声明几个概念,被找的字符串称为匹配串,要找的字符串被称为模式串,当前和模式串相匹配的匹配串的子串被称为匹配子串(废话 在朴素算法中,我们要找一个匹配串是否存在模 ...
分类:
编程语言 时间:
2017-06-14 16:09:59
阅读次数:
128
题目链接:点击打开链接 题目大意:有A。B两个字符串。如今有一种操作能够在A的随意一个字符x后面添加一个字符y(x。=y)。问能不能将A变为B。 首先假设A能够变成B,那么A就一定是B的一个子序列,这个能够在O(n+m)的时间内算出。 假设A是B的子序列之后,推断添加的字符中是不是含有不能添加的情况 ...
分类:
其他好文 时间:
2017-06-13 17:17:13
阅读次数:
118
这篇小结主要是参考这篇帖子从头到尾彻底理解KMP,不得不佩服原作者,写的真是太详尽了,让博主产生了一种读学术论文的错觉。后来发现原作者是写书的,不由得更加敬佩了。博主不才,尝试着简化一些原帖子的内容,希望能更通俗易懂一些。博主的帖子一贯秉持通俗易懂的风格,使得非CS专业的人士也能读懂,至少博主自己是 ...
分类:
编程语言 时间:
2017-06-12 14:47:21
阅读次数:
252
想匹配html = 安装最新版python各种数据库的注释中的‘56845037’和‘59120585’,尝试用正则:pattern_l = r''''''re.findall(pattern_l,html)结果不成功。返回为空,有用: soup = BeautifulSoup(... ...
分类:
编程语言 时间:
2017-06-11 14:54:29
阅读次数:
131
最近看了一些关于KMP算法的资料,在此写一篇博客总计一下。 1.KMP算法介绍 KMP算法是一种字符串搜索的改进算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减 ...
分类:
编程语言 时间:
2017-06-11 10:06:31
阅读次数:
131
变相的字符串匹配 给定一个字符串,然后再给定一组同样长度的单词列表,要求在字符串中查找满足下面条件的起始位置: 1)从这个位置開始包括单词列表中全部的单词。且每一个单词仅且必须出现一次。 2)在出现的过程中不能出现其它的干扰单词。 3)出现的位置可能有多个。 4)单词的出现顺序不做要求。 以下是一个 ...
分类:
编程语言 时间:
2017-06-10 14:05:12
阅读次数:
231
1.一个正则表达式代表了某类字符串的一个集合,而正则表达式相当于对该字符串集合的特征性质描述。 2.我觉得它就是一个特定的规则,这些“特定的规则”,从被匹配的字符串的角度上来看,可以认为描述的是某一类字符串的共同特征;而从正则表达式的角度上来看,也可以认为表达的是一种匹配规则(或称过滤逻辑)。 3. ...
分类:
其他好文 时间:
2017-06-08 13:15:43
阅读次数:
170
关键字:正则表达式、元字符、字符串、匹配; 1、正则表达式简介;正则表达式提供了功能强大、灵活而又高效的方法来处;.NET框架正则表达式并入了其他正则表达式实现的; 2、字符串搜索;正则表达式语言由两种基本字符类型组成:原义(正常;一般表达式语言是一种可以编写搜索表达式的语言; 3、.NET框架的正 ...
带权路径最小的二叉树称为最优二叉树或Huffman(哈夫曼树)。 Huffman树的构造 将节点的权值存入数组中,由数组开始构造Huffman树。初始化指针数组,指针指向含有权值的孤立节点。 数组b中的指针可以理解为二叉树的根指针。 进行n - 1次循环建立Huffman树 选择b中根节点权值最小的 ...
分类:
其他好文 时间:
2017-06-05 23:57:09
阅读次数:
422
题目链接 Problem Description Using regular expression to define a numeric string is a very common thing. Generally, use the shape as follows:(0|9|7) (5|6) ...
分类:
其他好文 时间:
2017-06-04 21:12:50
阅读次数:
495