我有一系列 SQL 调用,我想用它来检测循环(因此不必要的重复 sql 调用),但它让我想到了这个更普遍的问题。
给定一个列表,说
[a,b,c,b,c,a,b,c,b,c,a,b,b]
有什么办法可以把它变成
a,[[b,c]*2,a]*2,b*2
或者,[a,[b,c]*2]*2,a,b*2
也就是说,检测重复(可能是嵌套的)。
最佳答案
查看 Lempel-Ziv-Welsh compression algorithm .它建立在检测字符串中的重复并利用它们进行压缩的基础上。我相信你可以使用 Trie
关于algorithm - 你如何检测字符串列表中的重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/349823/