【发布时间】:2020-01-31 09:06:15
【问题描述】:
我想找到一种算法,它可以对字符串数组进行排序(或排列),这样如果任何字符串(比如 B)是任何其他字符串(比如 ABAC)的子字符串,那么 B 应该在 ABAC 之后。 例如:
假设字符串是:
abc
bc
zef
abcde
那么订单将是:
abcde,
abc,
bc
and zef can come anywhere in the order.
【问题讨论】:
-
您喜欢使用哪种编程语言编写代码?此外,如果字符串“bc”是两个字符串的子字符串,您希望“bc”去哪里。例如,有 3 个字符串,“abc”、“dbc”和“bc”。在这种情况下,您希望“bc”去哪里?
-
"bc" 可以放在 "abc" 和 "dbc" 之后的任何位置,但 "abc" 和 "dbc" 的顺序无关紧要。
-
@KevinNg 只要我能够理解 C、C++、python、Java、php 等算法的工作原理,任何编程语言或伪代码都可以工作。
-
在这里构建一个 trie 似乎是一个不错的方法。
标签: string algorithm sorting optimization