免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7465 | 回复: 16
打印 上一主题 下一主题

[算法] 迅雷校园招聘面试题····· [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-10-15 16:37 |只看该作者 |倒序浏览
本帖最后由 youzhizhe 于 2010-10-15 17:56 编辑

实现一个挺高级的字符匹配算法:
例如:“123” 这3个字符,要匹配到:
“1   3  2”     “3(随便一系列的字符)2(随便一系列的字符)1  ”(123的顺序可以打乱)。
求高人的想法。

我说得不好,
其实就是说给一串很长字符串,要求找到符合要求的字符串,例如目的串:123
1******3***2 ,12*****3这些都要找出来
其实就是类似一些和谐系统。。。。。

大家继续讨论。。。。

论坛徽章:
0
2 [报告]
发表于 2010-10-15 16:43 |只看该作者
就是只要有123这三个字符在的字符串都可以匹配?
那么自然匹配可以在O(n*m)的时间内完成

论坛徽章:
0
3 [报告]
发表于 2010-10-15 16:53 |只看该作者
求解释··

论坛徽章:
0
4 [报告]
发表于 2010-10-15 17:01 |只看该作者
求解释··
youzhizhe 发表于 2010-10-15 16:53


自然匹配就是对待匹配的每个字符挨个匹配
设你的待匹配字串长度位n,模式字符串长度位m.
对于待匹配字符串中的任意一个字符最坏情况下要匹配m次,也就是说这个字符不在模式字符串中。
所以最坏情况下总共是m*n此匹配,时间复杂度就是O(m*n)

倘若使用hash表对待字符串进行hash处理O(n)的时间复杂度,那么对于模式字符串中的任意字符,仅需一次hash判断就可以得知是否在待匹配字符串中出现。最坏仅需m次就可以得到结果。时间复杂度为O(m)或者O(n);

论坛徽章:
0
5 [报告]
发表于 2010-10-15 17:07 |只看该作者
hash

论坛徽章:
0
6 [报告]
发表于 2010-10-15 17:19 |只看该作者
感觉楼主说的太模糊了,我的理解是:查找一系列字符串中含有目的串的问题,即目的串在输入串中的位置不确定。
目的串:
123
输入:
1******3***2 ,12*****3***
结果:匹配
如果是这样的话,感觉bloom filter算法挺适合的,时空效率都可以,呵呵

论坛徽章:
0
7 [报告]
发表于 2010-10-15 17:25 |只看该作者
什么乱七八糟的
是求最大匹配?最小匹配?匹配判定?匹配子窜数?

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
8 [报告]
发表于 2010-10-15 17:26 |只看该作者
设计hash函数是关键。

论坛徽章:
0
9 [报告]
发表于 2010-10-15 17:27 |只看该作者
slip  "123";

测试每个字串都是在b 存在的

是这个意思吧

论坛徽章:
0
10 [报告]
发表于 2010-10-15 17:48 |只看该作者
我说得不好,
其实就是说给一串很长字符串,要求找到符合要求的字符串,例如目的串:123
1******3***2 ,12*****3这些都要找出来
其实就是类似一些和谐系统
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP