最快(& python)获取不包含其他元素作为它们前缀的元素列表的方法。
(元素可以以任何顺序出现,为了清晰起见,在这里元素被保持有点连续,所以如果需要排序,必须显式地执行)
输入是
['AB', 'ABC', 'ABCDEF', 'ABCDEFG', 'BCD', 'DEF', 'DEFGHI', 'EF', 'GKL', 'JKLM']
消除的元素:
'AB' prefix of 'ABC'
'ABC' prefix of 'ABCDEF'
'ABCDEF' prefix OF 'ABCDEFG'
'DEF' prefix of 'DEFGHI'
预期输出
['ABCDEFG', 'BCD', 'DEFGHI', 'EF', 'GKL', 'JKLM']
编辑:
稍微增加一些复杂性(或清晰度)。列表的平均长度在500-900之间变化。
'ABCDEFG'
和'DEFGHI'
?你的意思是你应该删除那些是其他元素前缀的元素吗? - Matthew Trevor