【发布时间】:2014-07-15 13:02:56
【问题描述】:
我有一个大数组有将近 10000 个字符串,我想在这些字符串中找到所有公共部分(超过 3 个字符)并获取这些部分的出现。
我用 javascript 的简单方法实现,但它确实花费了很多时间,即使我对此做了一些优化,对于 1000 个字符串的短数组,Firefox 大约需要 8 秒,Chrome 大约需要 12 秒。
所以我想知道是否有任何相关的技术或算法,因为我认为这确实是一个普遍的问题,可以在许多应用程序中提出。
【问题讨论】:
-
获取所有序列的所有常见出现 3 个或更大字母是常见问题吗?也许你需要描述你想用这些数据做什么。我有一种感觉,您可能已经决定了解决问题的错误方法。
-
你可以研究一下打包器的工作原理,它非常快,但它也依赖于单词边界,而不仅仅是任何 3 个字符......
-
你的意思是一个共同的prefix,一个共同的substring,或者可能是几个substrings?
-
嗨,@cookiemonster 这些字符串大多不是短的(超过 15 甚至 30 个字符),通过找出它们,然后我可以替换它们,突出显示它们等。
-
缓存是一个选项吗?
标签: javascript string algorithm search match