腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
Z
算法
背后的直觉
Z
算法
是一种具有O(n)复杂度的
字符串
匹配
算法
。 一个用例是从
字符串
B中找到
最长
的
字符串
A。例如,来自"overdose"的"stackoverflow"出现时间
最长
的是"over"。您可以通过使用组合
字符串
"overdose#stackoverflow"调用Z
算法
(其中#是两个
字符串
中不存在的某个字符)来发现这一点。然
浏览 0
提问于2016-01-10
得票数 3
2
回答
是否可以使用KMP
算法
来查找
最长
的子
字符串
?
、
、
、
假设我有一个模式P和一些文本T,我想找到与T的子
字符串
匹配
的最大前缀P,是否可以修改KMP
算法
来执行这样的操作?(如果我没记错的话,KMP
算法
会进行部分
匹配
,但我对
最长
的
匹配
感兴趣)。
浏览 1
提问于2014-04-07
得票数 3
回答已采纳
2
回答
查找
字符串
和
字符串
前缀之间
最长
后缀长度的
算法
、
、
、
、
输入:返回与A大小相同的数组A,其中Output[i]是S[0..A[i]]和S
最长
匹配
后缀的长度。示例输入:A[]=[0, 1, 2, 3, 4]Output[]=[1,0,3,0,5] 我所拥有的最天真的
算法
是,对于每一个A[i],只需要
匹配
S[0..A[i]]和S之间两个
字符串
末尾的字符数。但
浏览 5
提问于2015-10-07
得票数 5
回答已采纳
1
回答
字符串
模式
匹配
的KMP
算法
和Z
算法
有什么不同?
、
、
在KMP
算法
中,我们对模式进行预处理,找出
最长
的前缀,以便在
匹配
时跳过字符。而在Z
算法
中,我们首先生成一个新的
字符串
其中x=在模式和
字符串
中都不存在的字符 在生成new_string之后,我们对new_string进行预处理以找到
最长
的前缀那么,这两种
算法
之间的区别是什么,哪一种最适合使用?
浏览 5
提问于2021-04-28
得票数 0
2
回答
二模式
字符串
匹配
算法
、
、
、
、
我需要对时间复杂度为O(n+m1+m2)的
最长
双模式前缀/后缀
匹配
算法
进行编码,其中n是
字符串
的长度,m1是pattern1和pattern2的长度。示例:如果
字符串
为"OBANTAO“,Pattern1为”香蕉“,而Patten2为”午睡“,则答案是
字符串
的子
字符串
"BANTA”,该
字符串
由香蕉的前缀禁令和午睡的后缀TA组成。谷歌的结果是:“Rabin
字符串
搜索
算法
”、“Knuth p
浏览 2
提问于2014-02-17
得票数 5
回答已采纳
1
回答
KMP模式查找
算法
、
我确实理解了KMP
算法
,即存储值以
匹配
前缀,然后在
字符串
中搜索时不返回,因为模式"abcdabca“前缀数组将是{0,0,0,0,1,2,3,1},直到{0,0,0,0,0,2,3,3,},然后'd‘在第4位置与'a’不
匹配
。我们回去直到找到
匹配
的元素或j==0,我想不出一个方法来理解为什么我们要回去。 谢谢
浏览 2
提问于2016-07-17
得票数 0
回答已采纳
1
回答
你能给我解释一下LZ77
算法
吗?
、
、
、
、
我正试着和我的朋友一起学习LZ77
算法
,有些情况给我们带来了困惑。例如)abcabbcabbcabcacurrent 搜索缓冲区大小:7前瞻性缓冲区大小:8原始
字符串
:窗口: abcabbc视图: abbcabca我的朋友认为LLD元组是:文字:'c‘长度:6距离:4 我认为查找
最长
匹配
字符串
的
算法
只在搜索缓冲区中进行检查,但他说没有找到
匹配
字符串
的限制。
浏览 6
提问于2022-04-01
得票数 -1
回答已采纳
1
回答
将"ccd“、"bbq”、"phd“等缩写与一组
字符串
中最相似的
字符串
进行
匹配
、
、
、
、
例如,以"bbq“为例,我们尝试将此缩写映射到一个
字符串
列表,烧烤烟和烧烤我们如何确定缩写属于哪个
字符串
。我尝试过通过KMP和
最长
公共子序列
算法
进行
字符串
匹配
,并对之前
匹配
的
字符串
增加了更多的值。谢谢!
浏览 3
提问于2016-11-04
得票数 0
1
回答
生成最佳的regexp
匹配
。
、
、
给定一个regexp (例如^[a-z]+$ )和一个不
匹配
它的
字符串
(例如abc-d@e ),我如何生成
匹配
的
最长
的S子集(在本例中是abcde)?=[a-z])/和S=x123a,
算法
应该返回123a。 换句话说,问题是:应该从不
匹配
的
字符串
中删除什么,以便使其
匹配
。
浏览 4
提问于2013-12-12
得票数 2
回答已采纳
3
回答
与起始字母和结束字母
匹配
的
最长
单词列表
我的朋友给了我一个问题,他说很容易,但我想不出一个好的
算法
来做它。 你会得到100个随机英语单词的输入。你必须找到一个单词中的最后一个字母与下一个单词中的第一个字母
匹配
的
最长
字符串
。例如,如果你被赋予“猫”,“狗”,“那个”的单词,你能做的
最长
的
字符串
是"cat -> if“。如果你被赋予“鼠标”、“驼鹿”、“独角兽”等词,你能做的
最长
的
字符串
只有一个单词(因为这些词都没有链接)。如果你被赋予“鸟”、“碟”、“哈勃”等词,你能做的<em
浏览 0
提问于2013-08-11
得票数 11
1
回答
Knuth-Morris-Pratt (KMP)和使用Ukkonen
算法
的后缀树在时间复杂度上的差异。
、
、
、
、
是否有可能找到
最长
的公共子串,
最长
的回文子串,
最长
的重复子串,使用Ukkonen的
算法
同时使用KMP和后缀树搜索所有模式和子串检查?如果是,那么我应该使用哪一个
算法
,因为这两个
算法
都有线性时间复杂度?
浏览 19
提问于2016-09-05
得票数 1
1
回答
用模糊
匹配
算法
比较数据元素的最佳方法
、
、
我希望通过C#中记录链接的模糊
匹配
算法
来比较两个数据元素或字段,并且我想确定哪一种
算法
最适合于每个比较。出生年份
最长
公共
浏览 3
提问于2016-05-16
得票数 2
2
回答
从2个不同的集合中查找公共子串
、
、
当两个轮廓看起来与
匹配
算法
足够相似时,它们被呈现给操作员,由操作员进行判断。 大多数配置文件都附加了多个电话号码,所以我想使用它们来查找重复的号码。我的第一个想法是去掉所有非数字字符,得到“
最长
的公共子串”。有很多
算法
可以找到集合中
最长
的公共子
字符串
。但每当我比较两个配置文件A和B时,我就有两组电话号码。我想找出集合A中的
字符串
和集合B中的
字符串
之间
最长
的公共子
字符串
。您能帮我找一个这样的
算法
吗?我
浏览 1
提问于2013-05-16
得票数 0
回答已采纳
2
回答
python3如何查找字节
字符串
的最大前缀,该
字符串
是另一个字节的子
字符串
、
、
、
我需要找到一个字节对象s1的最大前缀(从开头开始的字节
字符串
),它是另一个字节对象s2的子
字符串
,并返回s2中的起始位置和长度。在这种情况下,s2恰好也与s1重叠。最佳结果是最接近s2末尾的
最长
前缀。 我尝试使用bytes.rfind方法来实现这一点,如下所示。
浏览 0
提问于2017-06-05
得票数 1
5
回答
标记
字符串
-C的有效方法
、
我正在尝试标记一个
字符串
。我有一张可用的代币表,以trie的形式订购。每个标记都知道它有孩子。现在,给定一个
字符串
stackover,它应该输出stack-valover-val。
算法
是贪婪的,它总是试图找到
最长
的
匹配
。要做到这一点,我将开始从输入读取每个字符,查找
匹配
,如果找到
匹配
并且令牌有子标记,则通过包含下一个字符再次查找
匹配
。这样做直到我们找到
最长
的
匹配
。如果没有找到
匹配
,请尝试通过包含下一
浏览 3
提问于2010-10-31
得票数 6
回答已采纳
1
回答
这已经是一个
字符串
相似
算法
了吗?
、
、
、
、
除了Levenshtein距离之外,我不熟悉
字符串
相似
算法
,因为这是我所使用的,而且结果并不理想。
字符串
2:“约翰·保尔森” 比赛2:“约翰”
匹配
4:“”第2步:用这个公式
浏览 4
提问于2016-05-23
得票数 2
回答已采纳
2
回答
UVa_11151(
最长
回文)
、
有人知道为什么下面的
算法
能找到给定
字符串
中
最长
的回文吗?查找
字符串
的
最长
公共子序列(子
字符串
)及其反转。结果是
最长
的回文。
浏览 0
提问于2012-03-22
得票数 3
3
回答
在滑动窗口中查找
字符串
匹配
的
算法
、
、
、
( ZIP还有更多内容,比如Huffman压缩,但我只是在讨论引用
匹配
。) 我的问题是
字符串
匹配
算法
的策略是什么。即使查看zlib等的源代码,似乎也没有很好地描述压缩
匹配
算法
。问题可能是:给定一个文本块(例如30K )和一个输入
字符串
,在文本的30K中找到与输入
字符串
前面完全
匹配
的
最长
的引用。“该
算法
在迭代时必须是有效的,即通过从前面删除一些字节并在后面添加新的字节并执行新的
匹配
来
浏览 2
提问于2009-03-13
得票数 4
回答已采纳
3
回答
最长
公共子序列
算法
解释
、
最长
-公共子序列(s1,s2): 如果
字符串
以相同的字母c开头,则返回的结果是c加上s1和s2其余部分之间
最长
的公共子序列(即s1和s2没有第一个字母)。例如,“空心”和“你好”之间
最长
的子序列是"h“加上"ollow”和"ello“之间的
最长
子序列。否则,如果
字符串
不以相同的字母开头,则返回以下两个
字符串
中的较长的两个: s1和s2的其余部分之间
最长
的公共子序列(s2没有第一个字母),s1其余部分(没有第一个字母的s1)
浏览 8
提问于2017-08-24
得票数 2
回答已采纳
2
回答
出现n次的
最长
子
字符串
、
对于长度为L的
字符串
,我希望找到出现n (n<L)或在
字符串
中出现更多次的
最长
子
字符串
。例如,在“香蕉”中出现2次或2次以上的
最长
子
字符串
是"ANA",一次从索引1开始,一次从索引3开始,子
字符串
允许重叠。 在
字符串
"FFFFFF“中,出现3次或多次的
最长
字符串
是"FFFF”。n=2的蛮力
算法
将选择
字符串
中的所有索引对,然后一直运行到字
浏览 1
提问于2010-04-04
得票数 13
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
算法字符串匹配-BF算法
算法 KMP字符串匹配
字符串匹配算法基础版
漫画:什么是字符串匹配算法?
通俗理解 KMP 字符串匹配算法
热门
标签
更多标签
云服务器
ICP备案
对象存储
即时通信 IM
实时音视频
活动推荐
运营活动
广告
关闭
领券