蛮力法进行字符串匹配的缺点在于每次失配后模式只向后移动一个位置。想要提高算法效率,就必须在不错过文本中一个匹配子串风险的前提下,尽量增大模式向后移动的幅度。Horspool就是这样一种算法之一,它的思想要比KMP算法容易。它采用了输入增加技术:对模式进行预处理得到一些信息,把这些信息存储在表中,当文本和模式进行匹配时就会用到这些信息。Horspool的匹配过程是从右向左进行的,在匹配过程中会出现以...
分类:
其他好文 时间:
2014-06-05 06:08:06
阅读次数:
362
给你一个整数m 和一个字符串s
输出一个字符串,使得这个字符串的字典序大于s(且是最小的字典序)且满足不存在长度大于等于m的回文子串...
分类:
其他好文 时间:
2014-06-05 00:21:52
阅读次数:
288
基本概念
串(字符串)
由0个或多个字符组成的有限序列,例如s="hello world"
串名
上例中的s
子串
某串任意连续字符组成的子序列,称为此字符串的子串
空串
0个字符的串,s=""
空格串
由一个或多个字符组成的串
模式匹配算法
...
分类:
其他好文 时间:
2014-06-02 23:28:56
阅读次数:
305
freemarker中的substring取子串
1、substring取子串介绍
(1)表达式?substring(from,to)
(2)当to为空时,默认的是字符串的长度
(3)from是第一个字符的开始索引,to最后一个字符之后的位置索引
2、举例说明
${'EFGHIJKL'?substring(0)}
${'EFG...
分类:
其他好文 时间:
2014-06-01 16:21:31
阅读次数:
178
这是Oracle对正则表达式的backreference的描述
从定义中可以看到,当匹配表达式中已()的形式将一个子串包含起来,后面就可以以\?的形式来引用。\1对应第一个(),\2对应第二个...
反向引用的引入使得正则表达式的匹配功能变得更加强大,介绍两个在oracle正则函数中的应用
regexp_like
regexp_like('1211233','^([0-9...
分类:
数据库 时间:
2014-06-01 10:53:39
阅读次数:
299
题目:
给定一个字符串,返回该串没有重复字符的最长子串。
分析:
1)子串:子串要求是连续的。
2)无重复,出现重复就断了,必须从新的位置开始。而新的位置就是重复字符第一次出现位置的下一个位置。
3)整个串可能没有一处重复。
那么,为了找出当前访问的字符是否出现过,要怎么做呢?当然是hash,O(1)的时间,而且既然是字符, 定义个255的hash table 就可以了,has...
分类:
其他好文 时间:
2014-06-01 10:48:31
阅读次数:
206
LCS问题就是求两个字符串最长公共子串的问题。解法就是用一个矩阵来记录两个字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0。然后求出对角线最长的1序列,其对应的位置就是最长匹配子串的位置。下面是字符串21232523311324和字符串312123223445的匹配矩阵,前者为X方...
分类:
其他好文 时间:
2014-05-31 01:33:58
阅读次数:
247
一、字符函数字符函数是oracle中最常用的函数,我们来看看有哪些字符函数:lower(char):将字符串转化为小写的格式。upper(char):将字符串转化为大写的格式。length(char):返回字符串的长度。substr(char,
m, n):截取字符串的子串,n代表取n个字符的意思,...
分类:
数据库 时间:
2014-05-29 21:54:37
阅读次数:
428
问题:给出的区分大小写的字母字符的字符串,找到最大的字符串X,或者为X,或者其逆可以找到任何给定的字符串的子串输入:输入文件的第一行包含一个整数t(1 2
#include 3 char str[101][101]; 4 int sum1;//每组测试数据中的字符串个数 5 int find_su....
分类:
编程语言 时间:
2014-05-29 21:05:13
阅读次数:
330