|
|
1
3
你检查的字符串对比你需要的多。您只需要检查连续的字符串对,而不是所有的字符串对。通过比较字符串0和3得到的信息是通过0-1、1-2和2-3比较得到的,拓扑排序可以为您处理它。拓扑排序应该运行 更快 输入中的无关边也较少。 |
|
2
1
一直在研究实际的实现,但是@user2357112已经解释了它的要点。由于列表已经按字典排序,可以简单地在迭代列表的同时跟踪最后一个单词的第一个字母,如果它与当前单词的第一个字母相同,那么把当前单词的其余部分放在列表中,直到当前单词的第一个字母与最后一个单词的第一个字母不同。此时,传递列表以进行递归调用。这个实现的平均时间复杂度将是O(n*log(n))。
以便:
将输出:
因为您已经知道拓扑排序,所以我不详细说明实现的其余部分。 |
|
|
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 1 年前 |
|
|
Alisa Petrova · 在有向图中更改一对顶点以创建循环 1 年前 |
|
|
b39b332d · 使用C++标准库实现高效间隔存储 1 年前 |
|
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 1 年前 |
|
|
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 1 年前 |