【问题标题】:Looking for most frequent pattern [duplicate]寻找最常见的模式[重复]
【发布时间】:2012-06-21 23:20:43
【问题描述】:

可能重复:
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 中?

【问题讨论】:

  • 如果较短的模式比较长的模式重复更多次,您想要哪一种?
  • 较短(例如最初设置为较长的​​ 3)
  • 谢谢,这和我的问题一样。请关闭此问题

标签: python


【解决方案1】:

正如@fraxel 所指出的,您需要更多地说明您的问题,但这听起来充其量只是一个动态编程(http://en.wikipedia.org/wiki/Dynamic_programming)问题。但是,如果不进一步指定它,就不可能知道您需要哪种算法。例如,您制定模式定义中的另一个不确定性。模式是简单的字符串吗?或者“ababa”是否被视为与“acaca”相同的模式,因为它将匹配正则表达式或全局模式“a*a*a”。

【讨论】:

  • 是的模式是简单的 Python 字节字符串,或者如果更容易理解,请考虑长字符串十进制数。我在没有暗示使用正则表达式的情况下使用了常识中的单词模式。
猜你喜欢
  • 2022-11-13
  • 1970-01-01
  • 2015-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-22
  • 2013-11-13
  • 1970-01-01
相关资源
最近更新 更多