【发布时间】:2016-04-17 09:53:42
【问题描述】:
我有一个字符串列表,我想找到流行的前缀。前缀的特殊之处在于它们在输入列表中以字符串的形式出现。
我在这里发现了一个类似的问题,但答案是为了找到一个最常见的前缀: Find *most* common prefix of strings - a better way?
虽然我的问题很相似,但不同之处在于我需要找到所有流行的前缀。或者说得简单一点,将前缀从最常见到最少排列。
例如,考虑以下字符串列表: 在, 印度, 印度人, 印度国旗, 公牛, 恶霸, 废话
前缀等级: 在 - 4 次 印度 - 3次 公牛 - 3次 ...等等。请注意 - in、bull、india 都出现在输入列表中。
以下不是有效的前缀: 工业 卜 布尔 ...因为它们没有出现在输入列表中。
我应该查看什么数据结构来为我的解决方案建模?我倾向于在每个节点上使用带有计数器的“trie”,以跟踪在创建 trie 期间该节点被触摸的次数。
欢迎所有建议。 谢谢。
附言- 我喜欢 python,如果有人可以发布一个可以让我入门的快速 sn-p,我会很高兴。
【问题讨论】:
-
你有什么尝试吗?
-
这实际上是您链接的问题的副本...。
Counter_Instance.most_common(10)会给您例如最常见的 10 个 -
诚实承认,直到现在还只是纸上谈兵。没有要显示的代码。下次注意。
标签: python algorithm data-structures prefix trie