寻找最常见的模式

时间:2012-06-19 20:43:50

标签: python

  

可能重复:
  Find longest repetitive sequence in a string

我正在解决一个问题,我需要找到最重复的模式。

为简单和方便,请考虑以下字符串:

What is Lorem Ipsum?
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s...

重复最多的序列(例如,最初考虑的字符串长度大于3个字符)是“Lorem Ipsum”。 “Lorem”和“Ipsum”当然也会重复相同的次数,但如果重复相同的次数,则较长的字符串优先于较短的字符串。

哪种算法可以有效地找到这种模式,最好是在Python中?

1 个答案:

答案 0 :(得分:0)

正如@fraxel指出的那样,你需要更多地指出你的问题,但这听起来好像是一个动态编程(http://en.wikipedia.org/wiki/Dynamic_programming)问题。但是,如果不进一步说明,就不可能知道你需要什么样的算法。例如,您的公式中的另一个不确定性是模式的定义。模式是一个简单的字符串吗?或“ababa”被认为与“acaca”相同的模式,因为它与正则表达式或圆形图案“a * a * a”相匹配。