List 单词列表交叉点,用于提取包含两个单词组合的字符串
因此,源数据是一个已排序的字典单词列表和一个随机未排序字符串列表 任务是从带有随机字符串的列表中仅提取字典列表中两个单词的组合 字典列表:List 单词列表交叉点,用于提取包含两个单词组合的字符串,list,word,intersection,List,Word,Intersection,因此,源数据是一个已排序的字典单词列表和一个随机未排序字符串列表 任务是从带有随机字符串的列表中仅提取字典列表中两个单词的组合 字典列表: ace dice nice task test try 随机列表: test123task testtask bbtesttask bbtest1task nicetry nicetesttry nice1task 1nicetry 结果: testtask nicetry 您是否遇到过这样一个脚本,它可以处理大型列表?我不太确定我是否能够自己编程。我
ace
dice
nice
task
test
try
随机列表:
test123task
testtask
bbtesttask
bbtest1task
nicetry
nicetesttry
nice1task
1nicetry
结果:
testtask
nicetry
您是否遇到过这样一个脚本,它可以处理大型列表?我不太确定我是否能够自己编程。我正在考虑一种算法,它只处理一次列表,然后提取以关键字开头的单词列表。它应该为第一个字符串结尾的字母添加某种索引号
然后,再次处理列表,从索引+1开始,直到结束
欢迎提供有关现成解决方案或从何处开始的任何指导。我在PHP和MySQL方面的经验有限。以下是一个开始:
从随机列表中选择一个单词:
test123task
在字典列表中搜索(使用二进制搜索)t
。如果一个单词以t
开头,搜索te
,如果找到,搜索tes
,等等。找不到test1
,因此您将停留在词典中的实际单词test
,搜索单词1
,没有任何以1
开头的内容,因此请回溯。但是te
,te
和t
不是单词<代码>测试123任务不正确
另一个例子:
testtask
搜索t
,te
,tes
,test
,testt
。在测试时回溯
<代码>测试是正确的单词,请从此处继续。搜索t
,ta
,ta
,task
<代码>任务是一个正确的单词。回归成功
您输入的数据不是很有趣,因为在某些情况下,您可能需要在较短的单词处停止。让我们在字典中添加tes
。然后测试这个词:
`testask`
搜索t
,te
,tes
,test
,testa
。在测试时回溯
<代码>测试是正确的单词,请从此处继续。搜索a
,作为
。在a处回溯
<代码>a不是正确的单词。返回到tes
tes
是正确的单词,请从此处继续。搜索t
,ta
,ta
,task
<代码>任务在字典中,返回成功
从这三个例子中,您应该能够编写使用回溯的递归算法,以测试所有可能性。好吧,这是因为我没有对细节给予足够的关注。。。我把它加到字典里了。谢谢