【发布时间】:2016-10-10 09:18:20
【问题描述】:
我有一个包含 n 个排序列表的列表,每个列表包含 m 个元素(字符串)。这些元素来自一个我不知道的具有不同顺序的列表。我所知道的是所有子列表都维护元素的全局顺序。这些列表不是不相交的。列表的并集是原始列表的子集。
现在,我正在努力寻找一种算法,可以有效地将它们组合回一个列表(列表)中,并具有最大的排序精度。
是否有针对此类问题的解决方案?
我使用的是Java,这里有一些示例代码:
List<List<String>> elements = new ArrayList<>();
elements.add(Lists.newArrayList("A","D","F"));
elements.add(Lists.newArrayList("B","D","E"));
elements.add(Lists.newArrayList("A","B","G"));
elements.add(Lists.newArrayList("C","D","H"));
// the required method
List<List<String>> sorted = sortElements(elements);
/* expeced output:
* [["A"],["B"],["C"],["D"],["G","F","E","H"]]
*/
【问题讨论】:
标签: java algorithm list sorting sortedlist